【发布时间】:2011-11-17 17:24:21
【问题描述】:
我正在使用 Knockout js。我有一个包含对象数组的视图模型,我希望允许用户使用向导样式界面编辑其中一个对象。 我遇到的问题是向导会根据所做的选择显示不同的步骤。例如:
- 如果用户在步骤 1 中选择“是”,则显示步骤 2a
- 如果用户在第 1 步中选择“否”,那么我会显示第 2b 步(即不同的对话框形式)
这样下去,通过向导的路径不是线性的。
我的问题是我是否在启动时将所有可能的向导 UI 步骤绑定到视图模型,即使某些步骤永远不会显示并且某些屏幕上的绑定将无效(例如步骤5 可能会绑定到 viewModel.theObject.PropertyA.PropertyB.PropertyC() 但 PropertyB 在步骤 1 中仍然为空。
更好的方法可能是在 UI 步骤显示时绑定到它们,但我的问题是我不知道在步骤完成后“取消绑定”模型的好方法,所以我可以最终得到步骤绑定到原始列表中的多个对象!
【问题讨论】:
标签: javascript mvvm knockout.js wizard model-binding