我正嘗試在ractive中使用幾個input
字段進行數據操作。在一個簡化版本,它基本上是:儘管有雙向綁定,取消/關閉ractive輸入
new Ractive({
el: '#myID',
template: DataTpl,
magic: true,
modifyArrays: true,
data: {myJSON},
save: function (id) {
//some code to save my Data to CouchDB
}
const DataTpl = '{{#myJSON}}<input value="{{aValue}}">'+
'<button on-click="@this.save(_id)">Save</button>'+
'<button>Cancel</button>{{/myJSON}}';
編輯&節約的偉大工程,但取消按鈕 - 這是指解僱任何用戶輸入如預期無法表現。當我點擊取消時,綁定已經改變了我的data
。所以它不會被存儲到數據庫中,但我無法恢復到原始值,因此在重新加載之前,它在UI中顯示爲錯誤。
我也嘗試了lazy: true
選項,但是這並沒有任何區別(我想是因爲打了取消按鈕觸發一個事件change
)...
mousedown而不是點擊? – epascarello
有趣的想法,但有同樣的結果。 – Torf
所以不要使用雙向綁定 – epascarello