2013-04-30 29 views
2

是否有任何方法为Backbone.Stickit.js设置全局setOptions为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

处理程序应该已经工作。我安装它记录Model.set的参数传递给控制台小提琴,每次输入改变:

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

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

没错,果然似乎是现在的工作。顺便说一下大插件!有没有办法设置动态选项? – uglymunky 2013-05-01 03:30:53

+0

谢谢!我们正在考虑动态选项。阻止它的唯一的事情是,如果我们决定从超级/父视图实现继承。 – user2095627 2013-05-01 12:40:01