Knockout.js v2.3.0 error "You cannot apply bindings multiple times to the same element"
Solution 1:
You need to remove the bindings before you use applyBindings
again:
ko.cleanNode($element[0]);
Solution 2:
Something that can happen as well which throws this exception is the following. Say you have:
ko.applyBindings(myViewModel1, document.getElementById('element1'));
...
ko.applyBindings(myViewModel2, document.getElementById('element2'));
Now, when both #element1
and #element2
don't exist you'll get the error. The reason is that Knockout's applyBindings
falls back on document.body
as root element when #element1
and #element2
are not found. Now it tries to apply binding twice on the body...
Not a nice fallback of Knockout if you ask me. I'd rather have a clear error message that the element does not exist in the DOM (yet).