可以多态处理knockout.js组件吗?

可以多态处理knockout.js组件吗?,knockout.js,components,Knockout.js,Components,从我所阅读的内容来看,这些示例假设组件的使用者指定了它的类型 消费者是否有办法在不指定类型的情况下说“component goes here”,并将组件的标识封装在消费者视图模型的属性中 背景: 我使用了一个控件绑定: data-bind="control: weirdEditor" weirdEditorobservable属性必须包含具有uistring属性的对象,该属性包含其视图的HTML。对象本身就是视图模型。控件绑定将它们绑定在一起,并在包含元素中插入生成的自包含UI组件 环顾四周寻

从我所阅读的内容来看,这些示例假设组件的使用者指定了它的类型

消费者是否有办法在不指定类型的情况下说“component goes here”,并将组件的标识封装在消费者视图模型的属性中

背景:

我使用了一个控件绑定:

data-bind="control: weirdEditor"
weirdEditor
observable属性必须包含具有
ui
string属性的对象,该属性包含其视图的HTML。对象本身就是视图模型。
控件
绑定将它们绑定在一起,并在包含元素中插入生成的自包含UI组件

环顾四周寻找类似的模式,Durandal似乎有一个非常接近的
compose
绑定:

data-bind="compose: { model: wierdEditor, view: wierdEditor().ui() }
除了(我认为)
ui
必须是他们基于AMD的模块系统中一些HTML资源的路径。我只是让它成为一个HTML字符串,我可以
需要
,并使用适当扩展的CommonJS


其优点是,您可以创建通用容器(两个窗格之间的拆分器、选项卡系统、具有可编辑单元格的网格),以便容器不知道它作为容器的作用是什么。它可以包含任何内容(并且可以随时替换内容)。

组件
绑定不支持

data-bind="component: weirdEditor"