我正在制作一个应用ember.js
程序ember-model
我有一个名为Plugin
定义如下的模型:
Eme.Plugin = Ember.Model.extend
id: Ember.attr()
name: Ember.attr()
description: Ember.attr()
downloads: Ember.attr()
tags: Ember.attr()
Eme.Plugin.url = "/api/v1/plugins"
Eme.Plugin.adapter = Ember.RESTAdapter.create()
Eme.Plugin.collectionKey = 'plugins'
我想显示下载次数最多的index.hbs
(我使用ember-rails
)
我在IndexRoute
的setupController
钩子中获取数据:
Eme.IndexRoute = Em.Route.extend
setupController: (controller, model)->
console.log Eme.Plugin.findAll().toArray()
controller.set 'plugins', Eme.Plugin.findAll()
输出 :
[nextObject: function, firstObject: undefined, lastObject: undefined, contains: function, getEach: function…]
但是在我执行的chrome控制台中Eme.Plugin.findAll().toArray()
,我得到的结果如下:
[{
__ember1377710636537: "ember404"
__ember1377710636537_meta: Meta
_dirtyAttributes: Array[0]
_reference: Object
_super: undefined
get _data: function() {}
isLoaded: true
isNew: false
set _data: function(value) {}
__proto__: Object
}, {
...
}, {
...
}]
在我IndexController
有一个计算属性:
Eme.IndexController = Em.Controller.extend
mostDownloads:(->
# console.log @get('plugins').slice(0, 3)
@get('plugins').slice(0, 3)
).property('plugins')
我迭代mostDownloads
但没有什么可显示的,但是当我输出时{{plugins.length}}
,我无法获得所有数据的计数
谁能帮我一把?