Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Ruby on rails 从HTML初始化coffeescript(主干)类_Ruby On Rails_Backbone.js_Coffeescript - Fatal编程技术网

Ruby on rails 从HTML初始化coffeescript(主干)类

Ruby on rails 从HTML初始化coffeescript(主干)类,ruby-on-rails,backbone.js,coffeescript,Ruby On Rails,Backbone.js,Coffeescript,这可能会被证明是一个愚蠢的打字错误,但只是以防万一,有一个关于这一点的陷阱。我只是从rails应用程序内部的CoffeeScript开始 我在people.js.coffee中创建了一个类PeopleView: class PeopleView extends Backbone.View .... 我正在尝试从HTML文件初始化它: <script language="text/javascript"> $(document).ready(function() {

这可能会被证明是一个愚蠢的打字错误,但只是以防万一,有一个关于这一点的陷阱。我只是从rails应用程序内部的CoffeeScript开始

我在people.js.coffee中创建了一个类PeopleView:

class PeopleView extends Backbone.View
....
我正在尝试从HTML文件初始化它:

<script language="text/javascript">
   $(document).ready(function() {
        var view = new PeopleView();
   });
</script>
在people.js.coffee文件的底部,它可以正常工作。这是一个好方法吗

window.PeopleView = PeopleView 
是的,这是正确的方法。CoffeeScript代码将被编译成匿名函数调用,因此所有声明都将被约束到该函数的作用域,除非通过指定窗口属性使它们在外部作用域中可见


这有助于防止意外覆盖全局变量。

是的,它还有助于在浏览器控制台中测试代码。
window.PeopleView = PeopleView