Вызов метода определения функции в coffeescript
Как бы вы перевели этот фрагмент javascript в coffeescript? В частности, я борюсь с тем, как вызывать .property()
в определении функции.
MyApp.president = SC.Object.create({
firstName: "Barack",
lastName: "Obama",
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
// Call this flag to mark the function as a property
}.property('firstName', 'lastName')
});
Ответы
Ответ 1
Я думаю, именно так вы должны его написать:
MyApp.president = SC.Object.create {
firstName: "Barack",
lastName: "Obama",
fullName: (->
return @get 'firstName' + ' ' + @get 'lastName'
# Call this flag to mark the function as a property
).property('firstName', 'lastName')
}
проверить эту ссылку
Ответ 2
Существует несколько способов определения вычисленных свойств. Вот примеры каждого из них:
MyApp.president = Ember.Object.create
firstName: "Barack"
lastName: "Obama"
fullName: (->
@get 'firstName' + ' ' + @get 'lastName'
).property('firstName', 'lastName')
MyApp.president = Ember.Object.create
firstName: "Barack"
lastName: "Obama"
fullName: Ember.computed(->
@get 'firstName' + ' ' + @get 'lastName'
).property('firstName', 'lastName')
Ответ 3
При использовании Ember.computed вам не нужно вызывать .property(), чтобы вы могли также использовать эту форму:
MyApp.president = Ember.Object.create
firstName: "Barack"
lastName: "Obama"
fullName: Ember.computed -> @get 'firstName' + ' ' + @get 'lastName'
Ответ 4
Что-то вроде этого будет работать?
(() => this.get("firstName") * this.get("lastName")).property()