녹아웃을 사용할 때 간단한 함수가 아닌 읽기 전용 계산 된 관찰 값을 사용하면 어떤 점이 유리합니까?녹아웃 : 계산 된 관찰 가능 대 함수
예를 들어, 다음의 ViewModel 생성자와 HTML 코드 조각을 가지고 :
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의 설명서에는 "... 선언적 바인딩이 단순히 계산 된 관찰 가능 정보로 구현됩니다"라는 내용이 있습니다. 그렇기 때문에 내 뷰 모델에서 명시 적으로 사용할 필요가 있다는 의미입니까?
위대한 답변 : thanks! – Duncan
좋은 답변입니다. 때로는 전체 논리를 실행할 때마다 계산 대신 함수를 사용합니다. –
계산 된 관찰 대상이 다른 관찰 대상에 의존한다는 것을 어떻게 알 수 있습니까? 그 함수를 구문 분석합니까!? - knockout 소스 코드를 읽을 시간. – zod