我正在尝试使用knockoutjs加载自定义组件。
下面是我的HTML:
<div id="mainDiv"></div>
JS:
$("#mainDiv").append("<my-component-name></my-component-name>");
这会在div后面附加<my-component-name></my-component-name>
,但不会将我的组件绑定到html。
如果我使用ko.applyBindings();
,它会抛出错误"Error: You cannot apply bindings multiple times to the same element."
我找不到绑定有什么问题。
2条答案
按热度按时间yvgpqqbh1#
视图被更新了,但是绑定没有更新。在第一次应用绑定之后,你需要对HTML中插入的任何元素执行
ko.applyBindings
操作。在应用绑定之后应用组件是一个糟糕的解决方案。不要把knockout和jQuery或js DOM操作混合在一起,请注意!5us2dqdw2#
这里我得到了解决方案:
需要ko.applyBinding来绑定html中的组件。