1

私の目標は、ネストされたレベルを持つ単純なナビゲーション ドロップダウン メニューを作成することです (このように)。そして、私はそれのためにオブザーバブルを使いたいと思います(より良い解決策がない限り)。

var menuitems = ko.observable([
    { name: "item1", children: [
        { name: "item1-1", children: []},
        { name: "item1-2", children: []}
    ] },
    { name: "item2", children: [] },
    { name: "item3", children: [
        { name: "item3-1", children: []},
    ] },
    { name: "item4", children: [] }
]);

次に、順序付けられていないリストを使用してナビゲーションを構築します...

<ul>
    <li>
        <a>item1</a>
        <ul>
            <li><a>item1-1</a></li>
            <li><a>item1-2</a></li>
        </ul>
    </li>
    <li>
        <a>item2</a>
    </li>
    ... etc ...
</ul>

テンプレートでこれを行う方法はありますか。ネストされたテンプレートや剣道の階層データソースを hasChildren などで使用しているでしょうか?

これは、私が投稿した以前の SO の質問と非常によく似ていますが、Knockout はもう使用していません。

これを達成するためのアイデアはありますか?

編集:

剣道メニューが適しているかどうかわかりません。いくつかのテンプレートに基づいてビューを読み込むには、各ナビゲーション アイテムが必要です。そのため、各メニュー項目に data-tmpl-type 属性を設定して、アプリがどのテンプレートを読み込むかを認識できるようにします。また、各テンプレートにどのビューをロードするかを知るために、 data-view 属性も必要です...それが理にかなっている場合。

Kendo Menu でこれを行う方法がわかりません。

4

2 に答える 2