【发布时间】:2013-02-26 05:01:45
【问题描述】:
我可以看到注入器加载模板并将其设置在可观察的模板中,但渲染没有发生。它只显示“正在加载”,但它调用 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 中包含模板并启动应用程序。
结果:您只会看到“正在加载...”代替您的模板,并且模板不会被渲染。
【问题讨论】:
-
这可能是因为this bug。
标签: knockout.js hottowel