インフューザーがテンプレートを読み込んで監視可能なテンプレートに設定しているのを見ることができますが、レンダリングは行われません。「読み込み中」と表示されるだけですが、afterRender メソッドを呼び出します。テンプレートは次のようになります
<button>Refresh</button>
<nav>
<ul data-bind='template:externalTemplate,foreach:DataArray,afterRender:callMe'></ul>
</nav>
テンプレートが読み込まれると、配列にはすでに観察可能なオブジェクトがほとんどありません。しかし、レンダリングされません。ただし、更新ボタンをクリックして、アレイをクリーンアップしてリロードすると、それは大丈夫です。
これは ko 2.2.0 と jquery 1.8 で問題なく動作していました... この更新で KoExternalTemplate は壊れていますか?
編集:再現手順:
- HotTowel SPA テンプレートを使用して新しいプロジェクトを開始します (このテンプレートをまだお持ちでない場合は、Google で検索してください)。
- NuGet 経由で koExternalTemplate を追加します。これにより、交通警官とインフィザーもインストールされます。
- BundleConfig.cs を更新して、TrafficCop、infuser、および koExternalTemplate を追加します。
- プロジェクトのルートの下にフォルダ名 Templates を作成し、テンプレート ファイルを追加します。テンプレートとファイルパターンを指すようにインフューザー構成でメインjsを更新します(koExternalTemplateのビットを知っている場合は、私が話していることを知っています)。
- テンプレートを home/details html に含めて、アプリを起動します。
結果: テンプレートの代わりに「読み込み中...」と表示されるだけで、テンプレートはレンダリングされません。