Is there a way to check whether applyBindings has been called for a page area or not?
It seems knockout doesn’t like when applyBindings is called on the same page more than once.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Knockout 2.0 has two functions that you could use for this purpose.
ko.dataForandko.contextFortake in a node and return either the Knockout data that would be available to it for binding at that scope (dataFor) or the entire binding context at that scope (contextFor), which includes$data,$parent,$parents, and$root.So, you can do something like:
Here is a sample: http://jsfiddle.net/rniemeyer/GaqGY/
However, in a normal scenario you should really look to call
ko.applyBindingsa single time on your page. It depends on what you are trying to accomplish though. Take a look at this answer for some suggestions on ways to manage multiple view models: Example of knockoutjs pattern for multi-view applications.Typically, you would do a
<div data-bind="with: mySubModel">and whenmySubModelgets populated then that area would appear and be bound.