Lors de l'utilisation de knock-out, ce qui est l'avantage de l'utilisation en lecture seulement calculé observables plutôt que de simples fonctions?
Ci-dessous les viewmodel constructeur et un fragment de code html, par exemple:
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>
Ici, tout semble fonctionner comme vous le souhaitez, donc, il y a une raison pourquoi je devrais plutôt utiliser:
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>
Je remarque que la documentation à http://knockoutjs.com/documentation/computedObservables.html stipule que "...des liaisons déclaratives sont simplement mises en œuvre calculé observables", cela veut-il dire il y a un besoin pour moi de les utiliser de manière explicite dans mon viewmodel?