Knockout.js 在Coffee脚本中将JSON数据分配给Knockout视图模型
我的看法 我要做的是用视图加载时得到的JSON字符串初始化视图模型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
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>