Coffescript 和 Ember.js计算属性

Coffescript and Ember.js computed properties

本文关键字:计算 属性 js Ember Coffescript      更新时间:2023-09-26

我需要一些帮助,将一些javascript转换为咖啡脚本以与余烬一起使用。具体来说,它与计算属性有关。我有以下JavaScript代码:

Portal.AppsController = Ember.ArrayController.extend({
    sortProperties: ['name'],
    sortAscending: true,
    appsCount: function() {
        return this.get('model.length');
    }.property('@each'),
    updated: function() {
        return this.get('model.modified');
    }.property('modified')
});

我很想做的很简单:

removed for brevity
...
appsCount: ->
    @get 'model.length'
.property '@each'
...

但这不是有效的语法。这真的可能吗?

对于计算属性,您需要包装它

appsCount: (->
  @get 'model.length'
).property '@each'

http://emberjs.jsbin.com/ikatIwaB/1/edit

daLength:  (->
  @get 'length'
).property 'length'

顺便说一句,我知道有些人正在使用 Ember 脚本来解决您可能看到的大多数问题 http://emberscript.com/