이 질문은 이미 답변 되었어야하지만이 문제에 대한 설명을 찾을 수 없었습니다.배열 값이 변경되지 않을 때 computed()가 실행되지 않도록하는 방법
I가 선택 될 수있다 일부 항목의 배열있다 : I가 items
에 새로운 오브젝트를 추가 할 때마다 viewmodel.selected()
가 viewmodel.items()
에 의존하기 때문에
function Item(name) {
this.name = name;
this.selected = ko.observable(false);
}
function ViewModel() {
var self = this;
this.items = ko.observableArray([]);
this.selected = ko.computed(function() {
return ko.utils.arrayFilter(self.items(), function (item) {
return item.selected();
});
}, this);
}
를 상기 selected
또한 심지어 추가 항목이있는 경우, 변경 관찰 선택되어 있지 않습니다. 새 항목을 실제로 선택하지 않으면 this.selected()
이 업데이트되지 않게하려면 어떻게합니까?
항목이 변경 될 때마다 선택한 항목이 변경되는 것은 왜 문제입니까? – nemesv
선택 사항에 응답하기 위해 서버에서 쿼리가 실행되기 때문에 실제로는 선택 사항이 없었기 때문입니다. –