2013-04-30 71 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