私の見解
<ul class="AvailableAdvertisers" data-bind="foreach: availableAdvertisers">
<li class="advertiser" data-bind="selectedToggle: selected() == true, click: toggleSelected">
<span class="name" data-bind="text: name"></span>
</li>
</ul>
コーヒースクリプト
class wizardPageModel
constructor: (@jsonObject) ->
@availableAdvertisers = @jsonObject.SelectedAdvertisers
@selectedAdvertisers = ko.observableArray()
私がやりたいことは、ビューの読み込み時に取得した JSON 文字列でビュー モデルを初期化することです。
var testModel = @Html.Raw(Json.Encode(Model));
コーヒースクリプトクラス定義を含むjavascriptを含めた後、applyBindingsを実行しようとしました。
<script src="/Scripts/Wizard.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var myJson = @testModel;
ko.applyBindings(new wizardPageModel(myJson));
});
</script>
デバッグ中に、JSON 文字列に問題がないことがわかり、ウォッチ ウィンドウに値が表示されます。私が間違っていることは何ですか?ありがとう。
編集: $(document).ready(function(){ は例外をスローしていました
Microsoft JScript ランタイム エラー: オブジェクトが必要です
で置き換えてみました
jQuery(関数 () {
それもうまくいきませんでした。だから私はやった
<script src="/Scripts/Wizard.js" type="text/javascript"></script>
<script type="text/javascript">
var myJson = @testModel;
ko.applyBindings(new wizardPageModel(myJson));
</script>
そして今、それは私に例外を与えます
wizardPageModel は定義されていません。