6

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

即 - 我可以安全地这样做:

<script>
(function() {

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

})();
</script>
4

1 回答 1

8

No KO 不会自动处理这个问题(所以自调用函数只能在页面底部工作),你必须等待ko.applyBindings调用加载的 DOM。

文档中:

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

ko.applyBindings(myViewModel);

您可以将脚本块放在 HTML 文档的底部,也可以将其放在顶部并将内容包装在 DOM 就绪的处理程序中,例如 jQuery 的 $ 函数。

于 2013-02-06T19:39:29.583 回答