8

MVC レイアウト (下部) に次のものがあります。

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/bundles/viewmodels")

開発者ツールの [ソース] タブにノックアウトの読み込みが表示されます。

私の見解の 1 つでは、次のことを行う必要があります。

<script type="text/javascript">ko.applyBindings(@Html.Raw(Json.Encode(Model)));</script>

しかし、これは私にエラーを与えます:ko is not defined

ノックアウトがロードされているにもかかわらず、なぜこのようなことが起こるのですか?

4

4 に答える 4

9

問題は、ノックアウトの前にビューがロードされていたことです。これを Layout.cshtml の一番上にプッシュします。

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/knockout")

問題を修正しました。

于 2013-09-17T02:07:34.293 に答える
0

Index.cshtml ファイルの末尾にあるスクリプト行を削除して、問題を修正しました。

<script src="~/Scripts/ConfigGroup.js"></script>

そしてそれを次のように置き換えます:

@section Scripts {
    @Scripts.Render("~/Scripts/ConfigGroup.js")
}

セクション Scripts は、インクルードとは異なるタイミングで読み込まれると思います。

今koへの私の参照。ConfigGroup.js スクリプトでエラーが発生しなくなりました

于 2014-11-26T20:44:39.237 に答える