我可以看到注入器加载模板并将其设置在可观察的模板中,但渲染不会发生。它只显示“正在加载”,但它调用 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,它还将安装交通警察和 infiser。
- 更新 BundleConfig.cs 以添加 TrafficCop、infuser 和 koExternalTemplate
- 在项目的根目录下创建一个文件夹名称 Templates 添加一个模板文件。使用注入器配置更新主 js 以指向模板和文件模式(如果你知道一点 koExternalTemplate 你知道我在说什么)。
- 在 home/details html 中包含模板并启动应用程序。
结果:您只会看到“正在加载...”代替您的模板,并且模板不会被渲染。