我注意到当我写
collection1.add(model1);-> UI更改正常。但是,当我这样做
collection1.add(model1, {merge: true});
然后App.div1.currentView.collection.models显示更改的模型(在控制台中),但UI不变。
我不知道为什么?
(注1:我将Marionette.js与Backbone一起使用)
(注2:App是全局木偶对象; div1是html中的木偶区域)

最佳答案

仅当将新元素添加到集合时才触发事件add。如果merge=false(默认行为),将添加(可能)新元素(并且您的集合具有两个相同的属性和不同的cidid)。使用merge=true,将更新旧元素,并触发事件update

仅当添加新元素时,才会触发add事件。

如果添加,更改或删除元素,将触发update事件。

解决方案:在update事件上渲染区域。

10-07 20:01
查看更多