は、「関数を呼び出す」ことによって行うことができます。 (設定)を書くことは、値を渡すことによって行うことができます。
サブスクリプションを作成せずに計算内の値を取得するには、peek
メソッドを使用できます。
var myObservable = ko.observable(1);
console.log(myObservable()); // Prints 1
myObservable(2);
console.log(myObservable()); // Prints 2
console.log(myObservable.peek()); // Also prints 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
あなたはこれが観測documentation page書き込み可能なノックアウト上の例で使用されて見ることができます:
this.firstName = ko.observable('Planet');
this.lastName = ko.observable('Earth');
this.fullName = ko.pureComputed({
read: function() {
return this.firstName() + " " + this.lastName();
},
write: function (value) {
var lastSpacePos = value.lastIndexOf(" ");
if (lastSpacePos > 0) { // Ignore values with no space character
this.firstName(value.substring(0, lastSpacePos)); // Update "firstName"
this.lastName(value.substring(lastSpacePos + 1)); // Update "lastName"
}
},
owner: this
});
、
valueHasMutated
方法を使用して他の依存観測/ computedsを再評価し、更新するために計算を強制することができますが、私が書き込みだとき、私はいくつかのコードを実行する必要があります。 – gvivetapl計算した変更があったときにロジックを実行したい場合は、 'subscribe'を使うことをお勧めします。 'self.valueView.subscribe(function(newValue){/ * logic * /})'です。古い値を使用する必要がある場合は、 'beforeChange'オプションを使用してください。 – user3297291
読み書きの際にロジックを実行したい。私は例を見ることができますが、それは2つの観測値を使用しています。 – gvivetapl