ノックアウトを使用する場合、単純な関数ではなく読み取り専用の計算されたオブザーバブルを使用する利点は何ですか?
たとえば、次のビューモデル コンストラクターと html スニペットを見てみましょう: </p>
var ViewModel = function(){
var self = this;
self.someProperty = ko.observable("abc");
self.anotherProperty = ko.observable("xyz");
self.someComputedProperty = function(){
return self.someProperty() + self.anotherProperty();
};
};
<input data-bind="value: someProperty"/>
<input data-bind="value: anotherProperty"/>
<p data-bind="text: someComputedProperty()"></p>
ここにあるものはすべて期待どおりに機能しているように見えるので、代わりに使用する必要がある理由はありますか:
var ViewModel = function(){
var self = this;
self.someProperty = ko.observable("abc");
self.anotherProperty = ko.observable("xyz");
self.someComputedProperty = ko.computed(function(){
return self.someProperty() + self.anotherProperty();
});
};
<input data-bind="value: someProperty"/>
<input data-bind="value: anotherProperty"/>
<p data-bind="text: someComputedProperty"></p>
http://knockoutjs.com/documentation/computedObservables.htmlのドキュメントには、「...宣言型バインディングは計算されたオブザーバブルとして単純に実装される」と記載されていることに気付きました。これは、ビューモデルで明示的に使用する必要があることを意味しますか? ?