我正在尝试将一个简单的事件附加到一个对象,以便当属性更改时事件会触发。我正在使用backbone.js 来尝试实现这一目标。下面是我的代码。
var person = {
name: "bob"
};
_.extend(person, Backbone.Events);
person.on("change:name", function () {
alert("Triggered");
});
person.name = "fred";
如果我使用 person.trigger("change:name");
事件就会被触发,所以我不确定为什么当我简单地使用 person.name = 时它不起作用"fred";
感谢任何帮助!谢谢
最佳答案
这样是行不通的。
您可以使用纯 JavaScript 对象并在其上触发事件:
var person = {
name: "bob"
};
_.extend(person, Backbone.Events);
person.on("change:name", function () {
alert("Triggered");
});
person.name = "fred";
person.trigger("change:name");
或者您可以使用 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" });
关于javascript - Backbone.js "on change"事件未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24060716/