我的观点
<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 未定义。