我正在尝试使用Knockout外部模板插件。 Firefox在我的util.js中停止:infuser.defaults.templateUrl =“/ CAS / templates”;
它抱怨infuser未定义。如果我只是在Firebug中按下继续,视图就会加载并加载模板。如果我评论该行,模板不会加载,我得到一个文件未找到错误。因此,尽管没有定义infuser,但设置仍然有效。这是订单内容被加载。
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/external/jquery-{version}.js",
"~/Scripts/external/jquery-ui-1-10.2.js",
"~/Scripts/external/jquery.unobtrusive*",
"~/Scripts/external/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/external/knockout-{version}.js",
"~/Scripts/external/koExternalTemplateEngine_all.js",
"~/Scripts/local/utils.js",
"~/Scripts/external/knockout.mapping-latest.js"));
bundles.Add(new ScriptBundle("~/bundles/local").Include(
"~/Scripts/local/ajaxservice.js",
"~/Scripts/local/DMS.CAS.Dataservice.js",
"~/Scripts/local/DMS.CAS.ViewModel.js",
"~/Scripts/local/DMS.Models.js"));
以下是视图中的绑定:
<div data-bind="template: {name: 'HelloWorld'}"></div>
我的jQuery版本是2.0.3,KO版本是2.3.0,KO外部模板插件是在1天前通过nuGet安装的。我已经将此问题作为订单脚本文件以错误顺序加载的问题。但是,情况似乎并非如此。任何帮助表示赞赏。
答案 0 :(得分:0)
您需要在 koExternalTemplateEngine_all.js 之前将 infuser.js 放入淘汰赛捆绑包中:
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/external/knockout-{version}.js",
"~/Scripts/external/infuser.js",
"~/Scripts/external/koExternalTemplateEngine_all.js",
"~/Scripts/local/utils.js",
"~/Scripts/external/knockout.mapping-latest.js"));