javascript – 如何将Knockout js模型绑定到向导样式UI

前端之家收集整理的这篇文章主要介绍了javascript – 如何将Knockout js模型绑定到向导样式UI前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Knockout js.我有一个包含对象数组的视图模型,我想允许用户使用向导样式界面编辑其中一个对象.我所遇到的问题是向导将根据所做的选择显示不同的步骤.例如:

>如果用户在步骤1中选择“是”,则显示步骤2a
>如果用户在步骤1中选择“否”,则显示步骤2b(即不同的对话框)

这样,通过向导的路径不是线性的.

我的问题是,我将所有可能的向导UI步骤绑定到启动时的视图模型,即使一些步骤将永远不会显示,并且某些屏幕上的绑定将无效(例如,第5步可能绑定到viewmodel.theObject.PropertyA. PropertyB.PropertyC(),但PropertyB在步骤1仍然为空).

一个更好的方法可能是绑定到UI步骤,因为它们显示,但我的问题是那里我不知道一个好的方法“解除绑定”模型一旦步骤完成,所以我可以结束的步骤绑定到来自原始列表的多个对象!

解决方法

我认为这样做的好方法是让您的视图模型成为一系列步骤,并将您的UI绑定到“selectedStep”.然后,每个步骤都可以动态地选择想要使用的模板(就像在这个 post中).

这是一个粗略的想法:http://jsfiddle.net/rniemeyer/SSY6n/

这样,模板绑定就可以根据所选择的任何步骤来处理生成/绑定/清理动态内容.如果步骤在observableArray中,那么甚至可以动态添加步骤.也许你有一个列表的所有可能的步骤,然后有一个“activeSteps”数组,代表当前有效的步骤,基于用户的选择.

猜你在找的JavaScript相关文章