我在客户端表单操作 api 的引擎盖下使用了 knockout.js。它旨在操作由选项卡、字段集(包含在选项卡中)和单个表单控件(包含在字段集中)构建的“分层”表单。
我的策略是为每个组件创建一个单独的视图模型。我的问题是:我怎样才能最好地将模型状态“向下”传播到层次结构?(例如,当以编程方式禁用选项卡时,我还希望禁用所有包含的字段集及其表单控件)
我准备了一个 jsfiddle 来勾画我的第一种方法:
http://jsfiddle.net/fbuchinger/bxNKg/4/
在 dom 方面,到目前为止一切看起来都很好,但我注意到该组的“可编辑”状态没有向下传播到表单控件的模型(PRENAME.editable
属性仍然是true
,尽管它应该是false
)。有更好的方法吗?