在CompositeView触发构造函数中渲染集合视图?

时间:2013-01-04 12:07:29

标签: marionette

我有一个复合视图,它有一个任务,还有它的注释。我把它放在contentRegion上显示。单独渲染模型时,它工作正常。然而,当来收集时,它表现得很奇怪。 console.log显示初始化函数已被触发两次。第一次是定义视图

taskView = new MyProject.Views.Task
  model : task
  collection : comments

然后我执行MyProject.contentRegion.show(taskView)以呈现模型视图。之后,我只需致电comments.fetch()即可获得所有评论。然后是问题,它重新初始化了我的taskView并且模板一直在抱怨xxx未定义。

有什么想法?我知道这很奇怪,因为我项目中的另一个CompositeView效果很好。

1 个答案:

答案 0 :(得分:1)

NathanInMac,我已经根据你使用itemView的建议进行了一些测试,发现了一些有趣的东西。

您的问题涉及嵌套复合视图吗?就像我的一样,但我不确定这是否会影响任何事情。

解决问题的原因是最初尝试找不到itemView的collectionView所以我将collectionView / compositeView的itemView定义移到了collectionView(或扩展)的定义之前。

这似乎是一个有效的解决方案,只是一个误导的错误,复合视图的双初始化而不是显示一些异常或错误。