Knockout.js knockoutjs subscribe方法被调用2次
在knockoutjs subscribe方法中,我还设置了subscribe方法中属性的值,这就是为什么该方法被调用了2次,第一次是在UI中更改值时,第二次是在subscribe方法中更改值时 任何人都知道如何避免这种情况 这是我的示例代码:Knockout.js knockoutjs subscribe方法被调用2次,knockout.js,Knockout.js,在knockoutjs subscribe方法中,我还设置了subscribe方法中属性的值,这就是为什么该方法被调用了2次,第一次是在UI中更改值时,第二次是在subscribe方法中更改值时 任何人都知道如何避免这种情况 这是我的示例代码: var ViewModel = function(first) { var self = this; self.firstName = ko.observable(first); self.firstName.subscribe(
var ViewModel = function(first) {
var self = this;
self.firstName = ko.observable(first);
self.firstName.subscribe(function(newValue) {
alert(newValue);
self.firstName(newValue.toUpperCase());
});
};
在您的例子中,您可能需要一个带有getter和setter的计算可观察对象
var ViewModel = function(first) {
var self = this;
self.firstName = ko.observable(first);
self.firstNameForView = ko.computed({
read: function () {
return self.firstName();
},
write: function (value) {
self.firstName(value.toUpperCase());
},
owner: this
});
};
现在在数据绑定中使用firstNameForView 在您的例子中,您可能需要一个带有getter和setter的计算可观察对象
var ViewModel = function(first) {
var self = this;
self.firstName = ko.observable(first);
self.firstNameForView = ko.computed({
read: function () {
return self.firstName();
},
write: function (value) {
self.firstName(value.toUpperCase());
},
owner: this
});
};
现在在数据绑定中使用firstNameForView