Javascript 从CoffeeScript生成的脚本调用类
我不确定我做错了什么,但还没走远 我使用Coffeescript创建了一个类:Javascript 从CoffeeScript生成的脚本调用类,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,我不确定我做错了什么,但还没走远 我使用Coffeescript创建了一个类: # CoffeeScript App= Title:"" TopMenu:[] AddTopMenu:(title,count,icon)-> Record= Title:title Icon:icon Count:count
# CoffeeScript
App=
Title:""
TopMenu:[]
AddTopMenu:(title,count,icon)->
Record=
Title:title
Icon:icon
Count:count
AddSubMenu:(title,icon,count) ->
Title:title
Icon:icon
Count:count
输出:
(function() {
var App;
App = {
Title: "",
TopMenu: [],
AddTopMenu: function(title, count, icon) {
var Record;
return Record = {
Title: title,
Icon: icon,
Count: count,
AddSubMenu: function(title, icon, count) {
return {
Title: title,
Icon: icon,
Count: count
};
}
};
}
};
}).call(this);
问题是,如何调用App.Title或App.AddTopMenu
我尝试了以下方法:
<script>
App.Title="asdasd";
</script>
<script>
var test = new App();
test.Title="asdasd";
</script>
App.Title=“asdasd”;
var测试=新应用程序();
test.Title=“asdasd”;
没有运气,找不到应用程序
任何帮助都会很好
Paul因为CoffeeScript生成的脚本被包装在一个iLife中,所以它里面声明的任何内容都被隐藏在外部范围之外——这意味着你需要非常具体地说明你所公开的内容 有很多方法可以做到这一点,这基本上取决于脚本将在哪里运行。您可以将其分配给浏览器的
window
,或node.js的module.exports
,或使用类似Require.js的内容来进行依赖关系管理
由于看起来您将在浏览器中使用此功能,您可能需要执行以下操作:
window.App =
Title: ""
TopMenu: []
AddTopMenu: (title, count, icon)->
Record =
Title: title
Icon: icon
Count: count
AddSubMenu: (title, icon, count) ->
Title: title
Icon: icon
Count: count
它会将
App
附加到window
对象,以便可以从其他脚本调用它。或者,在完成所有定义后,您可能希望对window.App执行单独的赋值:window.App=App
谢谢,现在理解。