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

使用 nuget 安装

Install-Package Knockout.BindingConventions
于 2013-08-07T11:44:46.117 回答