Knockout.js 除非指定一个';写';选项
我试图在另一个计算属性中使用计算属性,当我运行代码时,控制台中出现以下错误 无法将值写入Knockout.js 除非指定一个';写';选项,knockout.js,computed-observable,Knockout.js,Computed Observable,我试图在另一个计算属性中使用计算属性,当我运行代码时,控制台中出现以下错误 无法将值写入ko.computed,除非指定“写入”选项 function AppViewModel() { var self = this; self.firstName = ko.observable('rahul'); self.lastName = ko.observable('sharma'); self.fullName = ko.computed(function() {
ko.computed
,除非指定“写入”选项
function AppViewModel() {
var self = this;
self.firstName = ko.observable('rahul');
self.lastName = ko.observable('sharma');
self.fullName = ko.computed(function() {
return self.firstName() +' ' + self.lastName();
});
self.upperFullName = ko.computed(function() {
return self.fullName.toUpperCase();
});
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
下面是html代码和
self.fullName是一个函数,返回计算值
self.upperFullName = ko.computed(function() {
return self.fullName().toUpperCase();
});
注意括号 当输入不是可写的计算机时,为什么要使用它?@Anders对不起,我没听明白你的意思?我对knockoutjs非常陌生。@Anders知道了,你想说当upperFullName没有计算时,为什么我要用它作为计算的对象。是的,你是对的。但是我怎样才能显示大写的fullName呢?不,我的意思是,既然您使用输入和值绑定来绑定“fullName”,它表示您想写入可观察对象,但您使用的是只读可观察对象
self.upperFullName = ko.computed(function() {
return self.fullName().toUpperCase();
});