我无法在 KnockoutJS 中创建依赖于属性的创建/编辑视图。
事情是这样的:我创造的一切都是“人”——可能是医疗保健专业人员、水管工、机械师或工程师。根据人的种类/类型,我需要输入不同的数据。
这里有一个例子:
Healthcare Professional: Name, Telephone, Hospital, etc.
Plumber: Name, Telephone, Crafts, etc.
Engineer: Name, Telephone, Specialities, etc.
我能做的是在我的 ViewModel 上创建属性,例如“showCity”、“showHospital”等,以隐藏各个表单字段。
但是,为了区分,我想使用完全不同的形式:同样,我可以将相应的形式设置为仅显示条件是否满足。
但是,我希望 KnockoutJS仅呈现应使用的相应表单(Person 的类型始终在首次创建时确定 - 它无法更改)。
我最终没有做的是显示一种形式,并且有十种形式(和数据绑定)但隐藏。
我尝试像这样使用“if”绑定:<div data-bind="with: $root.selectedPerson"><form data-bind="if: $data.type='mathematician'"></form></div>
,但无济于事。
有人知道在这种情况下最佳做法是什么吗?