如何在变化之前获得价值?在knockout.js

时间:2011-11-07 15:31:21

标签: json mapping knockout.js

我正在使用mapping utils来加载一些巨型JSON数据。我知道如何使用'update'回调来检测更改。

但是如何将旧值与新值进行比较?在'update'回调中,我只能访问新值。

当然 - 当我将更新放到JSON时 - 我再次使用mapping utils。

我想知道价值是增加还是减少。怎么做?

1 个答案:

答案 0 :(得分:1)

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;
   }
}