敲除.js可观察通知'always'和订阅



我有以下代码:

HTML:

<p>Age:
    <input data-bind="value:age" />
</p>
<p>Age has been changed: <span data-bind="text:ageChangeCount"></span> times</p>

JS:

function viewModel() {
    var self = this;
    self.age = ko.observable(10).extend({
        notify: 'always'
    }), 
    self.ageChangeCount = ko.observable(0),
    self.age.subscribe(function (val) {
        console.log('Someone has changed age');
        self.ageChangeCount(self.ageChangeCount() + 1);
    });
};
ko.applyBindings(new viewModel());

JSFiddle: http://jsfiddle.net/EstSiim/9majtx0h/

我想知道为什么ageChangeCount不会增加当老年和新年龄是相同的(当输入失去焦点)?

因为当新值与旧值匹配时,value绑定处理程序只是忽略模型更新。因此,订阅不能正常运行。

看到源

最新更新