2

我正在使用 MarionetteJS 复合视图。

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

通常 itemView 的模板是在 itemViewContainer 中呈现的,但由于某种原因,它没有采用 itemView 的模板,而是采用了它自己的复合视图模板。

这不是英语,但可以在这里直观地看到行为:

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

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

任何想法?

4

1 回答 1

4

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

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


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

CV = Marionette.CompositeView.extend({
  itemView: IV,
  // ...
});
于 2013-01-26T23:02:17.583 回答