たとえば、観測可能な配列はマッピング関数(ko.mapping.fromJS)を使用して設定します。 observable配列内の値に基づいて、divの可視性をデータバインドするにはどうすればよいですか?foreachを使用してobservable配列内の値に応じてknockoutJSの可視性を変更するには
1
A
答えて
1
ko.observableArray
を使用する場合、配列内の個々のオブジェクトではなく、を参照しているのはです。したがって、配列からプッシュまたはポップされたものがあれば、ノックアウトがそれを認識してテンプレートを更新しますが、配列の個々のオブジェクトに変更がある場合などです。配列メンバの特定のプロパティが変更されると、ノックアウトはテンプレートを更新しません。
解決策は、アレイ内のアレイメンバーを購読したい別々に観察することです。あなたのケースでは、観察、配列内の値は、最初のインデックス部材内に存在する場合、あなたはあなたのビューモデルで次の操作を実行する必要があるだろうと言うことができます:
theArray: ko.observableArray(initialArray);
theValue: ko.observable(this.theArray[0]);
とdivの表示:
<div data-bind="visible: theValue.something"></div>
編集:
あなたのシナリオの問題は、特定のユーザーが管理者になる場合、ノックアウトは、配列内の各ユーザーの個々のプロパティを追跡していないため、テンプレートをレンダリングしません。ユーザー配列を追加/削除するときにのみテンプレートをレンダリングします。
ユーザーが管理者として設定されている場合、我々はあなたが結合しているどのようなタイプのデータおよび/または値記述することができた場合は、この>
//declare the view model
var viewModel = {
users: ko.observableArray(listOfUsers); //you need to pass the users list array you get from ko.mapping
}
//make each array member observable
for (var i = 0; i < viewModel.users().length; i++) {
viewModel.users()[i] = ko.observable(users()[i]);
}
関連する問題
- 1. foreach(KnockoutJS)内のバインディングを使用して
- 2. ボディクラスに応じてdivの可視性をjavascriptで変更する
- 3. 二次元配列内の値に応じて、別の単一配列をCのバイナリに変換します
- 4. php foreachを使って配列の配列に値を挿入
- 5. 既存の値に応じてdataGridViewの値を変更する
- 6. PHP foreachは元の配列の値を変更します
- 7. モデルビューを使用してスタックパネルの可視性を変更するアプローチ
- 8. numpyを使用して1つの配列内のある値に5%の最大値を変更します
- 9. チェックボックスを使用してjavascriptでオブジェクトの可視性を変更しますか?
- 10. CheckBoxの状態に応じてデータバインディングを使用してスタイルを変更する
- 11. MVVMを使用して親コンテナの可視性を変更するTextBox.Textを変更します。
- 12. チェックボックスの値に応じて列を更新する
- 13. 配列値に応じて異なるイメージをエコーする
- 14. divの内容に応じて画像を変更する
- 15. フォーマットに応じてセルの値を変更する
- 16. 値に応じてボタンのテキストを変更するWPF DataGrid
- 17. y値に応じて線の色を変更するggplot2
- 18. mysql配列をループし、変数に応じて内容が別の配列を作成する方法$
- 19. ビルドフラグに応じて変数値を使用するJavaコード
- 20. jQueryを使用して、値に応じて入力枠の色を変更する方法は?
- 21. 内部値に応じて文字列内の値を置換する
- 22. itemRemdererの可視性を変更する
- 23. EventTriggerの可視性を変更する
- 24. Angular2:配列をObservableに変換する
- 25. foreachを使って配列内のマルチ配列
- 26. knockoutjs protected observable with checkboxを使用するには?
- 27. セレクタに応じてCSS値を変更しますか?
- 28. 列内の値に応じて列を選択する方法は?
- 29. PHPの配列のインデックスに応じて配列のソート配列
- 30. foreachインラインデータバインディングをobservableの文字列で使用する方法
のような何かをする必要があり、それは再レンダリングするテンプレートを確実にするために、あなたはより良い答えを得ることができるでしょう。たとえば、ブール値、値<25、文字列== "表示"を使用していますか? –
下記のコメントを参照してください。 – jaffa