2012-02-09 11 views
2

これをcoffeescriptとして書く方法に関するアイデアはありますか?coffeescriptの関数の最後に関数呼び出しを追加する

Person = Ember.Object.extend({ 
    // these will be supplied by `create` 
    firstName: null, 
    lastName: null, 

    fullName: function() { 
    var firstName = this.get('firstName'); 
    var lastName = this.get('lastName'); 

    return firstName + ' ' + lastName; 
    }.property('firstName', 'lastName') 
}); 

私は特にコードの}.propertyに興味があります。私はcoffeescriptでこれを書く方法を理解できません。

+0

は '}本当に}'ことになって.property'、property'です解析することができますか? – rudolph9

+1

可能な複製[coffeescriptで関数定義のメソッドを呼び出す](http://stackoverflow.com/questions/8464739/calling-a-method-on-a-function-definition-in-coffeescript) –

答えて

6

は個人的に、私は私の周りにカッコ機能を好き:

Person = Ember.Object.extend(
    firstName: null 
    lastName: null 
    fullName: (-> 
    firstName = @get("firstName") 
    lastName = @get("lastName") 
    firstName + " " + lastName 
).property("firstName", "lastName") 
) 

は、私の頭が良く、この;-)

-1

最初jsbeautifierそれは、その後、js2coffeeそれ:

Person = Ember.Object.extend(
    firstName: null 
    lastName: null 
    fullName: -> 
    firstName = @get("firstName") 
    lastName = @get("lastName") 
    firstName + " " + lastName 
    .property("firstName", "lastName") 
) 

彼らが言うように、あなたのコードの権利を作ります。

+0

なぜdownvotes ?この回答は、マイケル・シエルトのものと本質的に同じですが、著者が使用したプロセスを説明するボーナスが付いています。何か不足していますか? –

+0

私のコードには少し誤りがあります。私は 'function'である' fullName'の値のまわりで括弧を使うべきです。 – island205

関連する問題