我正尝试在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