2012-01-19 5 views
0

以下のコードの結果、未定義のオブジェクトが表示されています。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 -> 

答えて

3

これは、貼り付けた3つの異なるファイルのコードであると仮定しています。 new Noteと書くとスコープに問題があります。Note変数がローカルスコープになく、その名前のグローバル変数もありません。

NotesNoteをグローバルappオブジェクトに添付してエクスポートしています。だから、これはエラーメッセージを説明していないだろう書き込み

@app.Notes = new @app.Notes 

@app.Note = new @app.Note 
+0

あなたのダー・マンに感謝します。 – user901790

0

あなたは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 -> 

をし、私は本当にあなたが適切に理解することができるコードではなく、コードの一部を入れたいと思います。この部分から私が考えることができるのは、くぼみに関することだけでした。

+2

を書くべきです。私は疑問に書かれている書式がうんざりしているが、元のコードではないと思う。 –