2012-01-19 13 views
1

私はBackbone.js(Brunch経由)でCoffeeScriptを使用しようとしています。私のモデルに保存機能を実装したいのですが、コンパイルを拒否しました。なぜか。私は、save関数にパラメータを渡し、コールバックを実装する必要があります。CoffeeScript +バックボーン保存機能の解析エラー

は、以下のコードは、二行目にUnexpected ':'エラーが発生しますが、私はよく分からない理由:

class exports.Tag extends Backbone.model 

    defaults: 
    id: null 
    tagId: null 
    found: false 
    location: "Not yet found..." 
    finders: [] 
    pointValue: 0 
    unlockCode: "" 

    verifyCode = (code) -> 
    @save { tagId: @get 'tagId', unlockCode: code }, 
     success: (model, response) -> 
     @trigger 'verifySuccessful', response 
     error: (model, response) -> 
     @trigger 'verifyFailed', response 

すべてのヘルプ感謝...ありがとう!

答えて

2

それはここだ、あなたはパーサ

@save { tagId: @get 'tagId', unlockCode: code }, 

混乱しているが、このことですか?

@save { tagId: @get('tagId'), unlockCode: code }, 

またはこれは?

@save { tagId: @get('tagId', unlockCode: code) }, 

どちらもエラーを修正しますが、明らかに異なることを意味します。

また、暗黙的な括弧は本当に素晴らしいですが、最もシンプルな状況でのみ素晴らしいことを利用します。私が通常使用するルールは、行内の最初の関数呼び出しのための括弧を省略し、それを他のすべての関数に使用する規則です。このルールは、この問題から完全にあなたを救ったでしょう。

+0

help @alexに感謝します。 CoffeeScriptの新機能であるため、私はまだシンタックスに習熟しておらず、カッコが必要なとき、暗黙的に、エラーが発生したときにも精通していません。再度、感謝します! – Jeff

関連する問題