相关疑难解决方法(0)

Knockout-2.2.0,订阅在更改前获取值和新值

jsfiddle链接:http://jsfiddle.net/T8ee7/

当我调用Knockout的订阅方法时,有没有办法可以获得前一个值和新值?现在,我只能分别调用这些值.如果旧值和新值不同,我想触发一些代码.

我想我可以做到以下几点,但它可能会变得混乱......(http://jsfiddle.net/MV3fN/)

var sv = sv || {};
sv.PagedRequest = function (pageNumber, pageSize) {
    this.pageNumber = ko.observable(pageNumber || 1);
    this.numberOfPages = ko.observable(1);
    this.pageSize = ko.observable(pageSize || sv.DefaultPageSize);
};


var _pagedRequest = new sv.PagedRequest();
var oldValue;
_pagedRequest.pageNumber.subscribe(function (previousValue) {
    console.log("old: " + previousValue);
    oldValue = previousValue;
}, _pagedRequest, "beforeChange");


_pagedRequest.pageNumber.subscribe(function (newValue) {

    console.log("new: " + newValue);
    if (oldValue != newValue) {
        console.log("value changed!");
    }

});

_pagedRequest.pageNumber(10);
_pagedRequest.pageNumber(20);
?
Run Code Online (Sandbox Code Playgroud)

knockout-2.0

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

knockout-2.0 ×1