As per the title, is it necessary to wait for the DOM to load before calling ko.applyBindings
or will Knockout handle this automatically?
I.e - am I safe to just do:
<script>
(function() {
var model = new my.Model();
ko.applyBindings(model);
})();
</script>
No KO doesn't handle this automatically (so the self invoking function would work only at the bottom your page), you have to wait for the DOM loaded with the ko.applyBindings
call.
From the documentation:
To activate Knockout, add the following line to a
<script>
block:
ko.applyBindings(myViewModel);
You can either put the script block at the bottom of your HTML document, or you can put it at the top and wrap the contents in a DOM-ready handler such as jQuery’s $ function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With