2

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

这样我就可以避免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 设置我所有的默认选项,并采用一个可选参数来覆盖我的默认值......

4

1 回答 1

1

处理程序应该已经工作了。我设置了一个小提琴,它将 Model.set 的参数记录到控制台,每次输入更改时:

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

Backbone.Stickit.addHandler({
    selector: '*',
    setOptions: {validate:true}
});
于 2013-05-01T00:18:48.703 回答