我正在开发一个读取XML文件的应用程序,这个xml文件包含有关要在浏览器上呈现的控件类型的信息,如文本框,组合等。 所以我打算使用Knockout.js实现相同的功能。 什么是最好的View模型设计来实现相同的。
将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。
对此的任何帮助都将受到高度赞赏。
谢谢, Sajesh Nambiar
答案 0 :(得分:2)
某种工厂模式?
这是一个自由写的,所以它不是香草KO
这是工厂部分,其余的是我的lib的KO魔法
this.editors = ko.utils.arrayMap(data, function(item) {
return new MyApp.Editors[item.type + "EditorViewModel"](item);
});
我的lib: https://github.com/AndersMalmgren/Knockout.BindingConventions
使用nuget安装
Install-Package Knockout.BindingConventions