我们应该在调用ko.applyBindings之前等待DOM加载

Ben*_*ter 6 knockout.js

根据标题,是否有必要在调用之前等待DOM加载,ko.applyBindings或者Knockout会自动处理吗?

即 - 我可以安全地做到:

<script>
(function() {

    var model = new my.Model();
    ko.applyBindings(model);

})();
</script>
Run Code Online (Sandbox Code Playgroud)

nem*_*esv 8

没有KO不自动处理这个(所以自调用功能只能在你的页面底部工作),你必须等待加载ko.applyBindings调用的DOM .

文档:

要激活Knockout,请将以下行添加到<script>块中:

ko.applyBindings(myViewModel);

您可以将脚本块放在HTML文档的底部,也可以将其放在顶部并将内容包装在DOM-ready处理程序(如jQuery的$ function)中.