Это демонстрация
cancel:function(event){
this.set(event.keypath+".editing",false);
}
Когда я нажимаю кнопку «Отмена», из-за двусторонней привязки данные фактически обновляются, как добиться отмены операции?
Есть другой элегантный способ?
Это демонстрация
cancel:function(event){
this.set(event.keypath+".editing",false);
}
Когда я нажимаю кнопку «Отмена», из-за двусторонней привязки данные фактически обновляются, как добиться отмены операции?
Есть другой элегантный способ?
Хорошо. Ваше текущее решение кажется мне подходящим. Однако, если вы хотите, вы можете вместо этого использовать ractive.toggle() для ".editing". Поставьте лайк этому.
toggleEdit:function(event){
this.toggle(event.keypath+".editing");
}
Вместо прокси-события вы можете напрямую вызывать ractive-методы при привязке события:
<button class="btn btn-default" on-click="toggle(event.keypath + '.editing')">cancel</button>
Если все, что вам нужно для отмены, это то, что вызов метода напрямую уменьшает размер вашего кода (вам не нужно определять прокси-событие) и улучшает читаемость.