3

コントロールでテンプレートを使用しようとしまし<select>たが、機能しません。動作しないコードは次のとおりです。

<select data-bind="template: { name: 'os-template-detail', foreach: operatingSystems },
        value: selectedOperatingSystem"></select>

しかし、通常のバインディングを使用すると、うまく機能します。

<select data-bind="options: operatingSystems,
        optionsText: function (item) {
            return item.Name
        },
        value: selectedOperatingSystem"></select>

だから、何か間違ったことをしたのか、それともフレームワークの制限なのか知りたい.

更新 どちらもオペレーティングシステムのリストを表示します。問題は、最初のコンボボックスで os を選択すると、そのソースが更新されず、2 番目の cobobox がそのソースを更新することです。

4

1 に答える 1

0

operatingSystemsリストと要素os-template-detailを構成する方法を指定するのに失敗したと思いますoption<select>バインディングの問題は、ノックアウトがタグではなくタグのリストを作成しようとすることoptionです。

これはうまくいくかもしれません:

<select data-bind="foreach: operatingSystems">
    <option data-bind="template: {name: 'os-template-detail', data: $data}">
</select>

Durandalまた、ノックアウト テンプレートの代わりに の構成を使用することをお勧めします。このリンクでは、ノックアウトを durandal と統合する方法について説明しています。

于 2013-10-17T08:19:37.500 に答える