0

私は XML ファイルを読み取るアプリケーションを開発しています。この xml ファイルには、テキスト ボックス、コンボなどのブラウザーでレンダリングされるコントロールの種類に関する情報が含まれています。そのため、Knockout.js を使用して同じものを実装する予定です。同じものを実装するための最良のビューモデル設計は何でしょうか。

XML ファイルを次のように考えます。

<Controls>
<PARENTELEMENT>
<ATTR ID="1" VISIBILTY="T" TYPE="COMBOBOX"></ATTR>
<ATTR ID="2" VISIBILTY="N" TYPE="COMBOBOX"></ATTR>
</PARENTELEMENT>
<CHILDELEMENT DEPENDSON="1">
<ATTR ID="3" VISIBILTY="T" TYPE="TEXTBOX" VALUE="ABC"></ATTR>
<ATTR ID="4" VISIBILTY="T" TYPE="COMBOBOX" VALUE="XYZ"></ATTR>
</CHILDELEMENT>
<CHILDELEMENT DEPENDSON="2">
<ATTR ID="5" VISIBILTY="T" TYPE="TEXTBOX" VALUE="DEF"></ATTR>
<ATTR ID="6" VISIBILTY="T" TYPE="COMBOBOX" VALUE="PQR"></ATTR>
</CHILDELEMENT>
</Controls>

期待される出力は、親要素のコントロールが最初に表示され、ID="1" に対して何かが選択された場合、ID="1" に依存する CHILDELEMENT が表示されるはずです。

これに関するヘルプは大歓迎です。

ありがとう、サジェシュ・ナンビア

4

1 に答える 1

2

ある種の工場パターン?

これは書かれたlib iveを利用するので、バニラKOではありません

http://jsfiddle.net/rDUZh/

これは工場の部分で、残りは私のライブラリによるKOマジックです

this.editors = ko.utils.arrayMap(data, function(item) {
    return new MyApp.Editors[item.type + "EditorViewModel"](item);
});

私のライブラリ: https://github.com/AndersMalmgren/Knockout.BindingConventions

ナゲットを使ってインストール

Install-Package Knockout.BindingConventions
于 2013-08-07T11:44:46.117 に答える