除非指定"写入"选项,否则无法将值写入ko.computed

rah*_*rma 8 knockout.js computed-observable

我试图在另一个计算属性中使用计算属性,当我运行代码时,我在控制台中收到以下错误.

ko.computed除非指定"写入"选项,否则无法将值写入a

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()); 
Run Code Online (Sandbox Code Playgroud)

这里是html代码和js小提琴链接

<p><input data-bind="value: firstName"></p>

<p><input data-bind="value: lastName"></p>

<p><input data-bind="value: fullName"></p>

<p> <span data-bind="text: upperFullName"> </span> </p>
Run Code Online (Sandbox Code Playgroud)

lor*_*lad 8

self.fullName是一个函数,返回计算值.

self.upperFullName = ko.computed(function() {
  return self.fullName().toUpperCase();
});  
Run Code Online (Sandbox Code Playgroud)

注意括号!