为Backbone.Stickit.js绑定设置全局setOptions

时间:2013-04-30 20:24:47

标签: javascript backbone.js backbone-stickit

有没有办法为Backbone.Stickit.js设置全局setOptions

这样我就可以避免在每个绑定上设置validate: true以及其他自定义选项:

bindings = { '.someEl': { observe: 'prop1' , setOptions: { validate: true } } , '.someOtherEl': { observe: 'prop2' , setOptions: { validate: true } } , '.yetAnotherEl': { observe: 'prop3' , setOptions: { validate: true } } };

我看过一些关于使用*选择器与.addHandler:

的帖子
Backbone.Stickit.addHandler({
     selector: '*',
     setOptions: {validate: true}
});

但那对我不起作用。

我确信我有一个简单的方法,但是现在我的黑客是创建一个解析我的属性名称的方法:

function stickTo(propName, options) {
    _.extend({observe: propName}, {setOptions: {validate: true}}, options);
}

...

bindings: {
    '.someEl': stickTo('prop1')
}

stickTo设置我的所有默认选项,并采用覆盖我的默认值的可选参数...

1 个答案:

答案 0 :(得分:1)

处理程序应该有效。我设置了一个小提琴,每次输入改变时都会将Model.set的参数记录到控制台:

http://jsfiddle.net/px6UP/39/

Backbone.Stickit.addHandler({
    selector: '*',
    setOptions: {validate:true}
});