MarionetteJS compositeView的怪异行为

时间:2013-01-26 20:56:07

标签: javascript backbone.js marionette

我正在使用MarionetteJS compositeView。

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

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

这不是英语,但可以在视觉上看到这种行为:

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

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

任何想法?

1 个答案:

答案 0 :(得分:4)

当木偶无法找到你的itemView时会发生这种情况。例如,如果在实际定义itemView之前指定了itemView,则无法找到它。如果未指定itemView(或未找到),则默认行为将使用与itemView相同的compositeView来创建递归树结构。

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


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

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