我正在尝试使用几个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}}';
编辑&amp;保存效果很好,但取消按钮 - 用于解除任何用户输入无法按预期运行。当我点击取消时,绑定已经改变了我的data
。所以它没有存储到数据库中,但是我无法恢复到原始值,因此在重新加载之前,它在UI中显示错误。
我也尝试了lazy: true
选项,但这没有任何区别(我认为因为点击取消按钮会触发change
事件)......