1

参考までに、これが私の問題の jsfiddle です。

問題の概要:

UI に 2 つのリストが並んでいますが、2 番目のリストは実際には、最初のリストで選択された項目の項目の配列です。だから、データ構造はこのようなものです...

var VM = {
  listOfStuff: [
    {
      subItems: [{},{}]
    },
    {
      subItems: [{},{},{}]
    }
  ]
}

UIは次のようになります...

<ul id="list-of-stuff">
  <li></li>
</ul>
<ul id="list-of-subitems-on-list-of-stuff">
  <li></li>
</ul>

問題は、「list-of-stuff」でノックアウト foreach バインディングを使用し、正常に動作することですが、サブアイテム リストが表示されないことです。バインディングエラーやその他の明らかな問題はないので、何が間違っているのかわかりません...

4

1 に答える 1

1

通常、withバインディングを使用してサブオブジェクトへのアクセスを管理するのが最も簡単です。 これが実用的なフィドルです。

<h1>SubItem List</h1>
<!-- ko with: currentStuff -->
    <ul id="subitem-list" data-bind="foreach: subItems">
        <li data-bind="text:number"></li>
    </ul>
<!-- /ko -->

初期化することが重要currentStuffです。バインドされた値が null または未定義の場合、withバインディングは html をレンダリングしません。

于 2013-09-12T13:40:18.670 に答える