8

Knockout の個別テンプレートは script タグで保持されているのでsrc、タグの属性を設定して、別ファイルから HTML を読み込むことができると考えました。単純にそうしてもうまくいかなかったので、

  1. srcテンプレートのバインディングをタグで動作させるには、使用する必要があるいくつかのトリックがあります
  2. 異なるファイルからテンプレートをロードする別の方法があります

(他の2つの可能性-3、このプロジェクトのすべてのプログラマーは、起動時にブラウザーによってロードされる同じ巨大なファイルを変更することが期待され、4、おもちゃよりも大きなものにはKnockoutjsを使用しないプロジェクト -- 同等と考えます。)

4

2 に答える 2

11

ブラウザはsrc、さまざまな「javascript」タイプのいずれか以外のタイプを持つものには応答せず、結果をスクリプトとして実行しようとします。

ただし、いくつかのオプションがあります。

  • テンプレートをリモートでプルできるテンプレート エンジンを使用します (最適なものはこちら: https://github.com/ifandelse/Knockout.js-External-Template-Engine )。
  • テンプレートを含むスクリプト タグをループしてロードします。このようなものはsrc、場所として を使用してコンテンツを取得します。テンプレートの準備ができていない場合は、applyBindings を呼び出すときに注意する必要があります。

    $("script[type='text/html']").each(function(index, el) { $.get($(el).attr("src"),
        function(response) {
            $(el).text(response); });
    }); 
    
  • しばらく前にこれを行うために調べた他のオプションを次に示します

于 2012-05-01T19:14:12.247 に答える