在 knockoutjs subscribe 方法中,我还在 subscribe 方法中设置了属性的值,这就是为什么该方法被调用 2 次,第一次是在 UI 中更改值时,第二次是在 subscribe 方法中更改值时。
任何人都知道如何避免这种情况。
这是我的示例代码:
var ViewModel = function(first) {
var self = this;
self.firstName = ko.observable(first);
self.firstName.subscribe(function(newValue) {
alert(newValue);
self.firstName(newValue.toUpperCase());
});
};
也放到 jsfiddle http://jsfiddle.net/ndkhoiits/4ABuq/