我有viewA、viewB,分别对应collectionA、collectionB(他们model类型相同)
目标:点击viewA中一个元素时,将这个元素对应的model添加到collectionB,viewB同上所述
我该怎么做?
var ViewA = Backbone.ViewA.extend({
el: $('xxx'),
.....
events: {
"click": "trans"
},
trans: function(event) {
var index = event.target.dataset.n;//通过data、元素index之类乱七八糟的获取序列号,总之不重要
//我疑惑的是下面的
var model = this.collection.at(index);
collectionB.add(model) //这样也太傻了吧
}
});
var viewA = new ViewA({collection: collectionA})
感觉别别扭扭,依赖乱七八糟的
楼主的意思比较清楚,而且感觉是对的,乱乱的,其实是因为这样写会太耦合,ViewA不应该包含ViewB
而最好通过事件进行交互。
如: