我正在尝试使用淘汰组件创建一个页面,如果没有同时添加它们,我在尝试绑定页面中的多个组件时遇到了一些麻烦。据我所知,我无法直接访问组件的视图模型,将其绑定到特定元素。
ko.applyBindings(viewModel, document.getElementById("component1"));
我的问题是,因为我因此必须使用更通用的
ko.applyBindings()
如果我稍后将另一个组件添加到页面并想要绑定它,我会收到“您不能将绑定多次应用于同一元素”。错误。
我有什么方法可以访问组件视图模型并直接应用它吗?
$('body').append('<div id="compoent1" data-bind=\'component: { name:"someComponent"\}'></div>')
ko.applyBindings(viewModel/*How do I get this?*/, document.getElementById("component1"));
我试过只使用
ko.applyBindings(document.getElementById("component1"));
我的解释可能有点难以理解,这是我正在尝试做的伪代码:
Add a knockout component
Apply bindings for the knockout component
.... some time later in my single page application
Add another knockout component
Apply bindings for the new knockout component