我的MVC布局中有以下内容(位于底部):
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/bundles/viewmodels")
我在开发人员工具的“源”选项卡中看到了 knockout 加载。
在我的一种观点中,我必须执行以下操作:
<script type="text/javascript">ko.applyBindings(@Html.Raw(Json.Encode(Model)));</script>
但这给我一个错误:
ko is not defined
尽管加载了 knockout ,为什么会发生这种情况?
最佳答案
问题是我的观点在 knockout 之前已经载入。将其推到我的Layout.cshtml的顶部:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/knockout")
解决了问题。