根据标题,是否有必要在调用之前等待 DOM 加载ko.applyBindings
或 Knockout 会自动处理这个?
即 - 我可以安全地这样做:
<script>
(function() {
var model = new my.Model();
ko.applyBindings(model);
})();
</script>
根据标题,是否有必要在调用之前等待 DOM 加载ko.applyBindings
或 Knockout 会自动处理这个?
即 - 我可以安全地这样做:
<script>
(function() {
var model = new my.Model();
ko.applyBindings(model);
})();
</script>
No KO 不会自动处理这个问题(所以自调用函数只能在页面底部工作),你必须等待ko.applyBindings
调用加载的 DOM。
从文档中:
要激活 Knockout,请将以下行添加到
<script>
块中:
ko.applyBindings(myViewModel);
您可以将脚本块放在 HTML 文档的底部,也可以将其放在顶部并将内容包装在 DOM 就绪的处理程序中,例如 jQuery 的 $ 函数。