Should we wait for DOM to load before calling ko.a

2019-02-22 04:29发布

问题:

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>

回答1:

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.



标签: knockout.js