将多个属性更改绑定到Backbone.js模型的正确方法
Correct way of binding multiple attribute changes to a Backbone.js model
我有以下代码,其中我将更改绑定到单个属性"attribute_1"。
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1", function() {
console.log('changed!');
});
}
});
如何绑定两个属性?这行不通:
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1, change:attribute_2", function() {
console.log('changed!');
});
}
});
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1 change:attribute_2", function() {
console.log('changed!');
});
}
});
从Backbone.js 0.9.0开始,bind()
函数(已重命名为on()
)支持以空格分隔的事件列表:
model.on("change:title change:author", ...)
// equivalent to
model.bind("change:title change:author", ...)
我不知道是否存在这样一个"bulk-bind"函数(你可以为它打开一个功能请求,它似乎很有用)。
你可以分别绑定它们:
var Mine = Backbone.Model.extend({
initialize: function() {
var listener = function() { console.log('changed'); };
this.bind("change:attribute_1", listener);
this.bind("change:attribute_2", listener);
}
});
或者您可以侦听所有更改(然后在侦听器中进行过滤):
var Mine = Backbone.Model.extend({
initialize: function() {
var listener = function() { console.log('changed'); };
this.bind("change", listener);
}
});
相关文章:
- 如何使用backbone.js从集合中获取模型名称
- 骨干模型默认值-todos.js示例中不必要的代码
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Ext.js从json构建模型关系的问题
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- spine.js在启动时填充模型实例
- Three.JS OBJ模型未显示
- Backbone.js将模型绑定到视图时出错
- 使用树模型 js 异步树遍历
- 在 ember 上复制嵌套模型.js(成功保存后)
- 如何获取语言模型JS文件
- 在鼠标点击位置添加3D模型.js
- 如何将实例方法添加到帆中的所有模型.js
- 导出 MONGO 数据库连接到模型.js文件
- 在骨干网中更改视图的模型.js
- 使Node.js与树模型js协同工作
- 使用没有视图模型. js文件的knockout组件
- 骨干中的嵌套模型.js,如何接近
- 如何将值从集合传递到主干中的模型.js
- 在 Backbone 中查找模型.js按 cid 而不是 id 收集