当集合在初始化函数中定义时,Marionette collectionEvent不会触发。例如:
collectionEvents: {
update: 'onCollectionUpdate',
change: 'onCollectionChange',
error: 'onCollectionError',
},
initialize(opts) {
this.collection = new ListCollection({...});
}
但当集合被定义为compositeView类上的属性时,它可以正常工作
collection: new ListCollection({...}),
collectionEvents: {
update: 'onCollectionUpdate',
change: 'onCollectionChange',
error: 'onCollectionError',
},
我需要在initialize函数中定义集合,因为我有传递给集合所需的构造函数的数据,这有什么原因吗
1条答案
按热度按时间byqmnocz1#
您可以只传入一个空集合到视图,以便在创建视图示例时事件绑定正确发生,然后在集合中填充数据。或者只传入包含数据的集合。
或在视图的
initialize
中我不希望Marionette跟踪您何时添加
collection
属性以在随机时间点查看,然后相应地创建事件绑定。