【发布时间】:2016-08-30 11:03:56
【问题描述】:
KnockoutJS 是否提供某种方式来实现 ViewLocator?
ViewLocator 类似于组件绑定,但不同之处在于它绑定到 ViewModel 对象和 自动找出正确的 View 来实例化和绑定。
比如我想写这个
<div data-bind="component: $data"></div>
或
<div data-bind="component: $data.DetailsViewModel"></div>
或
<div data-bind="viewLocator: $data.DetailsViewModel"></div>
我希望它使用命名约定找到并创建 DetailsView.html 并将其绑定到数据绑定的 DetailsViewModel observable。
请注意,我不想指定组件名称,也不想手动注册组件!
这可能吗?
【问题讨论】:
-
“查找并创建 DetailsView.html”是什么意思?它应该在哪里找到它?
-
使用一些约定定位模板
-
这是可能的,只要投入适当的努力。 IMO这个问题需要太多的努力才能适合SO。在谷歌搜索“viewLocator”时,我怀疑您来自 Durandal 背景,因此建议您首先了解他们是如何实现它的。
标签: mvvm knockout.js