knockout.js 挖空组件与其他viewModel共存

amrnrhlw  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(167)

我知道在注册一个knockout组件后,应该不带参数调用ko.applyBindings()。但是,当定义另一个不带组件的viewModel时,我们将其命名为vm,应该调用ko.applyBindings(new vm())。现在,当我尝试并行使用这两个组件时,我得到了一个错误

You cannot apply bindings multiple times to the same element.

另请参阅this fiddle
我能做些什么来让它工作呢?

m0rkklqb

m0rkklqb1#

我找到了答案。问题是,如果没有第二个参数(也就是绑定作用域所在的HTML元素),就不能调用applyBindings两次。对于我的组件,我很乐意提供第二个参数,即组件本身,但在文档中找不到,您只能找到没有任何参数的applyBindings()。因此,通过反复试验,我发现

ko.applyBindings(null, document.getElementById('id'))

id是组件HTML元素的id。

相关问题