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

2019-02-22 04:34发布

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>

标签: knockout.js
1条回答
老娘就宠你
2楼-- · 2019-02-22 05:04

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.

查看更多
登录 后发表回答