를 업데이트하지 다음 모델 :녹아웃 순수한 계산 관찰 갖는
var dataModel = ko.observable({ someProp: ko.observable() });
var isValid = ko.pureComputed(function() {
return dataModel().isValid;
});
나는 다음과 같은 기능을 가지고 :
function testMe() {
dataModel().isValid = false; // This does not work, why?
console.log("isValid: " + isValid()); // Doesn't update, shows old value
dataModel({ isValid: false }); // This works however I loose all other properties
console.log("isValid: " + isValid()); // Prints correctly updated value
console.log(ko.toJSON(dataModel()));
}
내가 testme라는를 실행할 때마다()
dataModel.isValid = 거짓
및
가 여전히 "true"로도 내가 위의 false로 설정 한 설정되어을 console.log 실행 ("isValid를 :"+ isValid())
... 왜? . 내가 일할 수있는 유일한 방법은 할 일이다.
dataModel ({isValid : false}); 그러나이 방법을 사용하면 모델의 다른 모든 속성이 느슨해집니다. 이 작품을 어떻게 만들 수 있습니까?
내가 뭘 잘못하고 있니?
는 참조 [이 jsfiddle] (https://jsfiddle.net/8fdyyhr2/이 같은 시도), "[mcve]"를 만들고 * 왜 * 결과를 기대하는지 설명해 주시겠습니까? – Jeroen
또한 (순수한) 계산 된 변수가 관찰 불가능한 변수에 의존하면 올바르게 업데이트되지 않을 수도 있습니다. 돈에 바로 – Jeroen