Как получить значение до того, как оно изменится? В knockout.js - PullRequest
4 голосов
/ 07 ноября 2011

Я использую утилиты картирования для загрузки мега-данных JSON.Я знаю, как обнаружить изменения с помощью обратного вызова «update».

Но как мне сравнить старое значение с новым значением?В обратном вызове 'update' я получаю доступ только к новому значению.

Конечно - когда я устанавливаю обновление в JSON - я снова использую утилиты mapping.

Я хотел бы знать,значение увеличивается или уменьшается.Как это сделать?

1 Ответ

1 голос
/ 30 ноября 2011

Обратный вызов обновления для плагина ko.mapping принимает один аргумент options, который является объектом, содержащим

  • данные
  • родитель
  • цель

Родительский объект все еще содержит старое значение.

var mapping = {
  'prop': 
     update: function(options) {
       var oldval = options.parent.prop;
       var newval = options.data;
       // do something that uses oldval and newval here
       return newval;
   }
}
...