[解決済み] ノックアウトビューで$parentの$parentにアクセスする - ネストコンテキスト
質問
簡潔にするために更新
Knockoutのネストしたforeach / bindingで$parentsの$parentを参照するにはどうしたらよいですか?
例-。
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents --> // <-- Doesn't work
<!-- ko foreach: children -->
<td data-bind="if: favToy().name == $parent.$parent.favToy().name">
<span data-bind="text: favToy().name"></span>
</td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
オリジナル
わかりにくい質問で申し訳ありませんが、私は2番目のレベルの親の値に到達して、現在のコンテキスト内の値と照合し(以下のように)、それが$parentの$parentの値と一致する場合にのみスパンを表示しようとしています(うっ!)。
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents -->
<!-- ko foreach: children -->
<td data-bind="if: favToy().name == $parent.$parent.favToy().name">
<span data-bind="text: favToy().name"></span>
</td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
このようにするのが簡単なのですが、私が読んだ限りでは、これは不可能か、私が間違ったやり方をしているようです :)
<!-- ko foreach: grandParent -->
<tr>
<!-- ko foreach: $parent.parents -->
<!-- ko foreach: children ? favToy().name == $parent.$parent.favToy().name -->
<td data-bind="text: favToy().name"></td>
<!-- /ko -->
<!-- /ko -->
</tr>
<!-- /ko -->
何かお手伝いいただけることがあれば、ぜひお願いします。
どのように解決するのですか?
を使用します。
$parents
の配列を使用すると、祖父母は
$parents[1]
. また
$root
を使うこともできます。
grandParent
オブジェクトが最上位の親である場合。
から ドキュメント :
$parents
これは、すべての親ビューモデルを表す配列です。
parents[0] は、親コンテキストからのビューモデルです (つまり、$parent と同じです)。 $parent と同じ)
parents[1] は祖父母コンテキストのビューモデルです。
Parents[2]は曾祖父母コンテキストのビューモデルです。
...といった具合になります。
$root
これはルートコンテキスト、すなわち、最上位の親コンテキストにおけるメインのビューモデルオブジェクトです。 一番上の親コンテキストです。通常、これは に渡されたオブジェクトです。これは $parents[$parents.length - 1] と等価です。
関連
-
[解決済み] コンテンツスクリプトを使用して、ページコンテキスト変数と関数にアクセスする
-
[解決済み】オブジェクトリテラルとして宣言されたノックアウトビューモデルと関数の違いについて
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる