我正在尝试在我的MVC 4(Web Api)项目中使用knockout.js,所以我使用Managae NuGet包添加了Knockout.js,而不是将其添加到BundleConfig
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/knockout-{version}.js"));
我在_Layout.cshtml
中添加了它 @Scripts.Render("~/bundles/knockout")
当我尝试在我的ViewModel.js中使用它时 - ko.applyBindings(new ViewModel());
它没有认识到它 - > "字"找不到 ko ...我忽略了它并继续编写我的代码但是在运行之后没有来自淘汰赛的评论..我在这里缺少什么?
答案 0 :(得分:1)
你没有展示你的代码,但我认为问题很容易解释:
你必须改变你的代码,这样,当你调用其中一个ko方法时,ko已经被加载了。两种可能的选择(但还有更多):
<head>
部分呈现KO套件从jQuery文档就绪事件中调用ko函数,如下所示:
$(document).ready(function(){ //你的ko在这里打电话 });
实际上,第二个解决方案等待执行代码直到所有页面都已加载,并且是运行与页面DOM交互的任何脚本的推荐方法。