首先,当谈到 JS 中的 OOP 时,我完全是菜鸟,这对我来说是新的,所以把我当菜鸟一样对待。
我正在构建我的第一个 ember.js 应用程序,但我被卡住了(不是第一次,但我自己会被卡住,虽然这很困难)。
我有两个模型:表单条目
条目当然与表单存在(一对多)关系,因此每个表单可以具有尽可能多的属性。
表单属性:
id : DS.attr( 'number' ),
title : DS.attr( 'string' ),
views : DS.attr( 'number' ),
conversion : DS.attr( 'number' ),
entries : DS.hasMany( 'entry' )
入口属性:
id : DS.attr( 'number' ),
parent_id: DS.belongsTo( 'form' )
现在,我有表单路由,可以在表格视图中显示所有表单,每个表格行都有一些信息,如表单 ID、名称等,效果很好。
我想做的是显示每个表单的条目数。我想我应该通过控制器来做到这一点,所以现在这是我的控制器:
// Form controller
App.FormController = Ember.ObjectController.extend({
entriescount: function() {
var entries = this.get( 'store').find( 'entry' );
return entries.filterBy( 'parent_id', this.get( 'id' ) ).get( 'length' );
}.property( 'entries.@each.parent_id')
});
现在由于某种原因,当我{{entriescount}}
使用{{#each}}
循环中使用时,它什么也不返回。它也不会在单一形式的路线中返回任何内容。请注意,在这两种情况下,例如 {{title}} 都有效。我想知道,我是否通过使用控制器来正确地进行此操作,以及如何让控制器输出数据。
谢谢