2013-02-14 2 views
0

Что здесь?Ошибка синтаксиса Coffeescript

ExecJS::ProgramError: Error: Parse error on line 11: Unexpected '.'

.coffee

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

Оригинальные .js

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') 
}); 
+3

Возможный дубликат [Расчетные свойства Ember в Coffeescript] (http://stackoverflow.com/questions/12777782/ember-computed-properties-in-coffeescript) –

ответ

0

Вы должны добавить фигурные скобки при вызове метода.

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

Это правда, что они не являются обязательными в CoffeeScript, но в этой ситуации, я думаю, вы должны явно добавить их. По крайней мере, это был единственный способ собрать его. Возможно, эксперт Coffeescript может рассказать о том, почему.

+0

Да, вы правы. Я сделал ошибку в своем первоначальном ответе. Скобки должны быть вокруг определения функции. (Изм) – Adam

Смежные вопросы