ver*_*ndy 0 events bind backbone.js
我有两个人和团队.
如果在People系列中添加了一个人,我希望Teams系列能够收听.
但是,我不断收到此错误:未捕获TypeError:无法读取未定义的属性'_listenerId'
也许我误解了bind和listenTo的概念?下面是我正在为两个集合使用的代码.
var People = Backbone.Collection.extend({
url: '/people',
model: Person,
comparator: 'id',
initialize: function() {
//Why does this return '_listenerID of undefined'
this.bind('add', function() {
var teams = new Teams;
teams.render;
});
},
});
var Teams = Backbone.Collection.extend({
url: '/team',
model: Team,
comparator: 'id',
initialize: function() {
this.listenTo(People.collection, 'add', this.render);
},
render: function() {
console.log("POOP")
}
});
Run Code Online (Sandbox Code Playgroud)
你确实误解了听众的工作方式.你应该特别听一些对象(即一个类的实例).
这里Backbone尝试访问Backbone对象的私有属性listenerId来做一些内部绑定的东西.在你的情况下,它试图得到People.collection._listenerId.People是你的类,它没有任何collection属性,所以People.collection是未定义的,因此你的错误.
这些是你问题的基础.由于还没有完全理解你的课程与你想要做的事情之间的联系,我现在不会再进一步了解.
| 归档时间: |
|
| 查看次数: |
9222 次 |
| 最近记录: |