knockout.jsでtypescriptを使用しています。 1つのケースでは、私のクラスに不変のフィールドが必要です。このフィールドは観測可能でなければなりません。Typescriptで読み取り可能に観察可能
私はコンストラクタで
constructor(data: ITypedInput, isDirty: any) {
super(ko.unwrap(data));
this._isDirty = isDirty;
}
を
readonly _isDirty = ko.observable<boolean>(false);
割り当て値を作成しました。しかし、私は
this._isDirty(true);
活字体のコンパイラがあること、何も言わなかった別の値を設定したいときそれは許可されていません。
this._isDirty = true;
コンパイラのような私は設定された値が代入式の
左側定数または読み取り専用プロパティすることができない前記他の場合に 、。
読み取り専用の方法はありますか?
ありがとうございました。
あなたの目的を解決する 'write'コールバックなしで' computedObservable'を作成するでしょうか? Nitzanが述べたように、 'observable'はパラメータを使って値を更新するだけの' function'ですが、現在の値を読むためにはパラメータなしで呼び出さなければならない ' – gkb
' readonly'観測可能性はa bit paradoxical ...観測可能にすることの背後にあるポイントは、あなたがそれを変更して更新が自動的に起こることです。変更したくない場合は、 'readonly'ブール値を「ちょうど」使用することもできます:通常の値は' applyBindings'を実行すると完全にうまく動作します。 – user3297291