eri*_*bae 23 javascript backbone.js backbone-events backbone-model
我有以下代码,我将更改绑定到单个属性"attribute_1".
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1", function() {
console.log('changed!');
});
}
});
Run Code Online (Sandbox Code Playgroud)
如何绑定两个属性?这不起作用:
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1, change:attribute_2", function() {
console.log('changed!');
});
}
});
Run Code Online (Sandbox Code Playgroud)
这也不是:
var Mine = Backbone.Model.extend({
initialize: function() {
this.bind("change:attribute_1 change:attribute_2", function() {
console.log('changed!');
});
}
});
Run Code Online (Sandbox Code Playgroud)
Rob*_*ska 80
从Backbone.js 0.9.0开始,该bind()函数(已重命名为on())支持以空格分隔的事件列表:
model.on("change:title change:author", ...)
// equivalent to
model.bind("change:title change:author", ...)
Run Code Online (Sandbox Code Playgroud)
Thi*_*ilo 24
我不知道是否存在这样的"批量绑定"功能(你可以为它打开一个功能请求,看起来很有用).
您可以单独绑定它们:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
或者您可以收听所有更改(然后在侦听器中过滤):
var Mine = Backbone.Model.extend({
initialize: function() {
var listener = function() { console.log('changed'); };
this.bind("change", listener);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22112 次 |
| 最近记录: |