を更新しないで、次のモデル:ノックアウト純粋な計算され、観察持つ
var dataModel = ko.observable({ someProp: ko.observable() });
var isValid = ko.pureComputed(function() {
return dataModel().isValid;
});
I以下の機能を持っている:
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 =偽
と
はconsole.log( "はisValid:" +はisValid())が実行され、それはまだ、なぜ...でも、私は上記のfalseに設定した "真" に設定されています
を? 。私がそれを働かせる唯一の方法は、行うことです。
dataModel({isValid:false}); この方法では、私のモデルでは他のすべてのプロパティが失われます。どうすればこの作品を作れますか?
私は間違っていますか?
は、参照[このjsfiddle](https://jsfiddle.net/8fdyyhr2/:このような何かを試してみてください)、あなたは "[mcve]"を作り、その結果を期待する*理由を説明してください。 – Jeroen
また、(純粋な)計算が、観察不可能な変数に依存する場合、正しく更新されない可能性があります。 – Jeroen