我在骨干中有一个集合...在初始化方法中我正在做这个....我想在这个集合中添加一个项目时重新呈现一个视图。
initialize: function (models, options) {
this.bind('add', function () {
NS.discussionView.reRender();
});
}
这个解决方案非常有效,但mycoworker说我完全反对骨干的设计目标。有没有更好的方法来做这个或这是一个好的做法?这些问题有点主观,我真的想知道我应该如何正确地做这样的事情。感谢您的任何反馈或建议。
回应答案...... 那么对象模型更深。 discussionView有一个discussionModel,它有一个topic属性,它是主题模型的主干集合。每个主题都有一个回复模型的回复集合。当回复添加到主题时,我需要再次呈现讨论视图。如何正确设置该链?
答案 0 :(得分:3)
简单地反转依赖关系:视图可能并且应该依赖于模型,但不是相反。这样,单个模型可能会被多个视图使用(简单,详细等),您可以在不修改模型的情况下添加视图。
model.bind('add', function () {
this.render();
});
还希望render()
方法名称遵循Backbone.js命名约定。