[英]Backbone.js “on change” event not firing correctly
I'm trying to attach a simple event to an object so when a property is changed the event fires. 我试图将一个简单事件附加到对象,以便在更改属性时触发该事件。 I'm using backbone.js to try and achieve this.
我正在使用ribs.js尝试实现这一目标。 Below is my code.
下面是我的代码。
var person = {
name: "bob"
};
_.extend(person, Backbone.Events);
person.on("change:name", function () {
alert("Triggered");
});
person.name = "fred";
If I use person.trigger("change:name");
如果我使用
person.trigger("change:name");
the event is triggered, so I'm not sure why its not workign when I simply use person.name = "fred";
事件被触发了,所以我不确定为什么当我只使用
person.name = "fred";
时为什么它不起作用person.name = "fred";
Any help is appreciated! 任何帮助表示赞赏! Thanks
谢谢
It won't work that way. 这样就行不通了。
You can use a plain javascript object and trigger events on it : 您可以使用普通的javascript对象并在其上触发事件:
var person = {
name: "bob"
};
_.extend(person, Backbone.Events);
person.on("change:name", function () {
alert("Triggered");
});
person.name = "fred";
person.trigger("change:name");
Or you can use a Backbone model that does most of this for you: 或者,您可以使用可以为您完成大部分工作的Backbone模型:
var Person = Backbone.Model.extend({
initialize: function(){
this.on("change:name", function () {
alert("Triggered");
});
}
});
var person = new Person({ name: "bob" });
person.set({ name: "john" });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.