ractive에서 데이터 조작을 위해 input
두 필드를 사용하려고합니다.양방향 바인딩에도 불구하고 락틱에서 입력 취소/취소
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