Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从CoffeeScript生成的脚本调用类_Javascript_Jquery_Coffeescript - Fatal编程技术网

Javascript 从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创建了一个类:

# 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
谢谢,现在理解。