我正在使用MarionetteJS CompositeView。

由于某种原因,我得到了递归模板行为。

通常,itemView的模板是在itemViewContainer中呈现的,但是由于某种原因,不是采用itemView的模板,而是采用其自己的CompositeView模板。

它不是英语,但可以在此处直观地看到其行为:

http://www.codeforum.me/admin.html

另一件事是,我可以在本地主机上完美地运行它,但是当我上载它并尝试从托管服务器运行它时,它显示出这种奇怪的行为。

任何的想法?

最佳答案

当牵线木偶找不到您的itemView时,就会发生这种情况。例如,如果您在实际定义itemView之前指定它,则不会找到它。当您不指定itemView(或未找到itemView)时,将启动默认行为,即使用与itemView相同的CompositeView来创建递归树结构。

要解决此问题,请在CompositeView声明中使用itemView之前定义它。


IV = Marionette.ItemView.extend({ /* ... */ });

CV = Marionette.CompositeView.extend({
  itemView: IV,
  // ...
});

关于javascript - MarionetteJS CompositeView的怪异行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14541491/

10-09 21:27