Knockout.js 在Coffee脚本中将JSON数据分配给Knockout视图模型

Knockout.js 在Coffee脚本中将JSON数据分配给Knockout视图模型,knockout.js,coffeescript,asp.net-mvc-4,Knockout.js,Coffeescript,Asp.net Mvc 4,我的看法 我要做的是用视图加载时得到的JSON字符串初始化视图模型 class wizardPageModel constructor: (@jsonObject) -> @availableAdvertisers = @jsonObject.SelectedAdvertisers @selectedAdvertisers = ko.observableArray() 在我包含包含我的coffee脚本类定义的javascript之后,尝试进行Ap

我的看法

我要做的是用视图加载时得到的JSON字符串初始化视图模型

class wizardPageModel
    constructor: (@jsonObject) ->
        @availableAdvertisers = @jsonObject.SelectedAdvertisers

        @selectedAdvertisers = ko.observableArray()
在我包含包含我的coffee脚本类定义的javascript之后,尝试进行ApplyBinding

var testModel = @Html.Raw(Json.Encode(Model));

$(文档).ready(函数(){
var myJson=@testModel;
应用绑定(新wizardPageModel(myJson));
});
在调试期间,我看到JSON字符串很好,并且可以在监视窗口中看到值。 知道我做错了什么吗?谢谢

编辑: $(document).ready(函数(){)正在引发异常

Microsoft JScript运行时错误:应为对象

尝试用

jQuery(函数(){

那也不管用,所以我做了

<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>

var myJson=@testModel;
应用绑定(新wizardPageModel(myJson));
现在它给了我一个例外

向导页面模型未定义


您使用什么引擎编译CoffeeScript?似乎您的
向导页面模型正在被放入
(function(){})(
。如果您使用Mindscape Web Workbench,那么它就是。移动到
Mindscape/Web Workbench设置
,找到您的
。coffee
,然后选中
发出纯JavaScript

如果使用console工具进行编译,请检查相应的参数



检测此类问题的常用方法是在
wizardPageModel
定义中放置断点,并使用
ko.applyBindings(新的wizardPageModel(myJson));
。然后您将能够确定首先调用了什么并找出问题。

ko对象的性质是什么?请提供此源代码(可能是要点)@CodeGroover,你是什么意思?从Knockout.js教程中,我从来没有想到我需要在任何地方定义它们。或者你是指其他东西吗?谢谢你的回答,但我想放弃CoffeeScript,我自己编写JavaScript,而不是CS生成它。
<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>
<script src="/Scripts/Wizard.js" type="text/javascript"></script>
<script type="text/javascript">
var myJson = @testModel;
 ko.applyBindings(new wizardPageModel(myJson)); 
</script>