【发布时间】:2014-04-21 19:30:30
【问题描述】:
我有一个想要在页面上显示的类别列表。我一直在寻找正确的方法来执行此操作几个小时,但我一直在发现相互冲突的信息和方法,这些信息和方法要么不再适用于当前版本的 Ember,要么已被弃用。
创建应用程序和 Ember-Data 事物:
var App = Ember.Application.create();
App.ApplicationAdapter = DS.FixtureAdapter;
App.Store = DS.Store.extend({
adapter: 'DS.FixtureAdapter'
});
我正在使用 Ember-Data 和一些类别的固定数据:
App.Category.FIXTURES = [{
id: 1,
name: 'Category 1',
description: 'The first category'
}, {
id: 2,
name: 'Category 2',
description: 'The second category'
}];
然后我创建一个模型来表示一个类别的实例(“版本”与版本实例具有类别实例的不同模型相关):
App.Category = DS.Model.extend({
versions: DS.hasMany('version'),
name: DS.attr('string'),
description: DS.attr('string')
});
然后我制作了一个 ArrayController,但我无法填充内容。
App.CatagoriesController = Ember.ArrayController.create({
content: [],
init: function () {
this.set('content', ???);
}
});
因为它不可导航,所以它没有连接到路由,所以我不能在路由中使用“模型”属性。
替换 ArrayController 中的???,我尝试了几件事:
我尝试了this.store.find('category'),就像示例中显示的路由一样,但我收到错误“Uncaught TypeError: Cannot read property 'find' of null”。
我尝试了App.Store.find('category'),结果出现错误“Uncaught TypeError: undefined is not a function”。
感谢您向正确方向提供任何帮助或推动。我有一种感觉,我什至没有朝着正确的方向前进。
【问题讨论】:
标签: javascript ember.js ember-data