Javascript 咖啡脚本窗口

Javascript 咖啡脚本窗口,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,我从下面的代码中得到未定义的对象 我得到一个错误,note和notes没有定义 @app = window.app ? {} class Notes extends Backbone.Collection model: app.Note url: '/notes' @app = window.app ? {} @app.Notes = new Notes # MODELS class Note extends Backbone.Model @app = window.app ? {}

我从下面的代码中得到未定义的对象

我得到一个错误,note和notes没有定义

@app = window.app ? {}

class Notes extends Backbone.Collection
model: app.Note
url: '/notes'


@app = window.app ? {}
@app.Notes = new Notes
# MODELS

class Note extends Backbone.Model

@app = window.app ? {}
@app.Note = new Note
#
jQuery ->

您使用的是coffeescript,没有注意任何缩进。Coffeescript对缩进有效。试试这个:-

@app = window.app ? {}

class Notes extends Backbone.Collection
  model: app.Note
  url: '/notes'

  @app = window.app ? {}
  @app.Notes = new Notes
# MODELS

class Note extends Backbone.Model
  @app = window.app ? {}
  @app.Note = new Note
#
jQuery ->

我真的希望你把代码放在可以正确理解的地方,而不是代码的某个部分。从这一部分中,我唯一能想到的就是缩进。

您使用的是coffeescript,您没有注意任何缩进。Coffeescript对缩进有效。试试这个:-

@app = window.app ? {}

class Notes extends Backbone.Collection
  model: app.Note
  url: '/notes'

  @app = window.app ? {}
  @app.Notes = new Notes
# MODELS

class Note extends Backbone.Model
  @app = window.app ? {}
  @app.Note = new Note
#
jQuery ->

我真的希望你把代码放在可以正确理解的地方,而不是代码的某个部分。从这一部分中,我唯一能想到的是缩进。

我假设这是来自粘贴在一起的三个不同文件的代码。当您编写
newnote
时,您遇到了一个范围问题:局部范围中没有
Note
变量,也没有具有该名称的全局变量

通过将注释附加到全局
app
对象,您已经在导出
Notes
Note
。所以你应该写

@app.Notes = new @app.Notes


我假设这是来自粘贴在一起的三个不同文件的代码。当您编写
newnote
时,您遇到了一个范围问题:局部范围中没有
Note
变量,也没有具有该名称的全局变量

通过将注释附加到全局
app
对象,您已经在导出
Notes
Note
。所以你应该写

@app.Notes = new @app.Notes


这无法解释错误消息。我怀疑问题中的格式有问题,但不是原始代码。这无法解释错误消息。我怀疑问题中的格式有问题,但不是原始代码。