6

タイトルの通り、DOMがロードされるのを待ってから呼び出すko.applyBindings必要がありますか、それともKnockoutがこれを自動的に処理しますか?

つまり、私は安全に実行できますか?

<script>
(function() {

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

})();
</script>
4

1 に答える 1

8

ko.applyBindingsKOはこれを自動的に処理しません(したがって、自己呼び出し関数はページの下部でのみ機能します) 。呼び出しでロードされたDOMを待つ必要があります。

ドキュメントから:

Knockoutをアクティブにするには、次の行を<script>ブロックに追加します。

ko.applyBindings(myViewModel);

スクリプトブロックをHTMLドキュメントの下部に配置するか、スクリプトブロックを上部に配置して、jQueryの$関数などのDOM対応ハンドラーでコンテンツをラップすることができます。

于 2013-02-06T19:39:29.583 に答える