10
A
答えて
20
さて、これはCoffeeScriptのが持っている落とし穴のものであってもよい:ここでは
class NewsItem
content: ko.observable("")
は、あなたが観測可能なオブジェクトであるプロパティ「コンテンツ」を使用して新しいクラスを作成しています。これは次のJavaScriptにコンパイルされます。
var NewsItem = (function() {
function NewsItem() {}
NewsItem.prototype.content = ko.observable("");
return NewsItem;
})();
ここからわかるように、プロパティ「content」はプロトタイプに添付されています。つまり、インスタンスごとに1つではなく、作成されるオブザーバブルが1つだけです。したがって、いつでもnew NewsItem
を実行すると、コンストラクタはプロトタイプ内のこの単一のオブザーバブルを更新します。したがって、すべてのインスタンスに対して同じ値が更新されます。
これを解決するには、コンストラクタでobservableを作成するだけです。
class NewsItem
constructor: (data,dispForm) ->
@content = ko.observable data.get_item("content")
が(関連部分)にコンパイル:その方法は、それがのインスタンスにアタッチ、ないプロトタイプを取得
this.content = ko.observable(data.get_item("content"));
関連する問題
- 1. ノックアウト:観測可能
- 2. 観測可能な配列内のノックアウト観測可能なオブジェクト
- 3. ノックアウト観測可能な宣言の方法
- 4. KnockoutJS - 観測可能なオブジェクトの観測可能配列
- 5. ノックアウト観測可能な配列を拡張する
- 6. jsonをノックアウト観測可能な配列にプッシュ
- 7. ノックアウトjsテンプレート、観測可能な配列の最初の要素をフィルタリング
- 8. ドロップダウンの変更で観測可能な値を変更するノックアウトJs
- 9. 2つの観測可能なアレイとノックアウトjsをリンクします
- 10. ノックアウト観測可能なデータをラジオボタンの値にバインドできますか?
- 11. ノックアウト可観測配列選択値の設定
- 12. IObservable.Catchが同じ観測可能
- 13. 観測可能なコレクションをフィルタリングする
- 14. 同じ観測可能性のサブスクライブで観測値の前の値を取得
- 15. コレクターラムダ観測可リスト
- 16. 最初に観測可能な2番目の観測可能な電波を最初に放射する
- 17. 可観測トークンのキャンセルトークン
- 18. ノックアウトのforeach/descendantバインディングのどこに観測可能なルートモデルがあるのかを知る
- 19. 私のノックアウト観測可能性が更新されないのはなぜですか?
- 20. ノックアウトの観測可能な配列にオブジェクトの配列を追加するには?
- 21. ノックアウトの計算された観測値のAngular2バージョン
- 22. ノックアウト3.0で観測可能なアレイの変更をキャンセルするにはどうすればよいですか?
- 23. 子ビューモデルから親に対して観測可能なノックアウトを修正するためのパターン
- 24. ノックアウトJavascriptバインドされた観測可能な配列を持つforeachチェックボックスセクションを作るための戦略
- 25. ノックアウト観測値を比較するためのイディオム
- 26. KVO観測とNSNotificationCenter観測
- 27. ノックアウトを宣言しました。タイプスクリプトで観測可能な数値を表示しました
- 28. ノックアウトJSは、JavaScriptデータ型からサーバデータから観測可能な配列を初期化する
- 29. javacriptでノックアウト観測配列を反復する
- 30. Knockout.jsの更新観測可能な配列要素の値
私は、これは、それが行われるべきか常にあると思います。 – Tyrsius
@Tyrsiusそれは依存しています - 特定のインスタンスごとに独自のクラスメンバーが必要な場合(私は同意する必要があります。あなたは違いを知る必要があります。 – Niko
静的なプロパティが必要な時がありますが、これはルールではなく例外でなければなりません。 – Tyrsius