我試圖用knockoutjs註冊多個組件,但是從同一個應用程序中的不同上下文中導致出現「錯誤:您無法多次將綁定應用於同一元素。Knockout.js在不同的上下文中註冊多個組件
我試圖做的是從多個地方調用這個。
knockout.components.register('a-name', {
viewModel: AViewModel,
template: { require: 'text!ui/views/a-view.html' }
});
knockout.applyBindings();
如果我在一個地方註冊所有組件,並使applyBindings()一次,這將工作。但是這另一方面給我帶來了其他許多問題。正如我希望我註冊的每個組件都是相互獨立的。
所以我可以在應用程序的不同部分註冊組件?
編輯:找到這個答案:Knockout: Error: You cannot apply bindings multiple times to the same element when refreshing page
其中指出ko.applyBindings()只能被稱爲每個DOM元素一次。我沒有明白這一點,他們的文件非常渺茫。有沒有另外一種方法來在需要時使用knockout來注入html?
這是僞代碼檢查,有像包含方法 – tire0011