我正在使用ember cli和ember数据,并一直在拼凑信息,但它仍然不工作。这一切都涉及到家庭模型,路线和模板。我觉得我接近,但仍然没有雪茄。我把所有的东西,除了标题,以简化它。根据我读过的文档,一切都是因为它应该是。
这是我的app. js
import Ember from 'ember';
import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';
import config from './config/environment';
Ember.MODEL_FACTORY_INJECTIONS = true;
var App = Ember.Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver: Resolver
});
loadInitializers(App, config.modulePrefix);
export default App;
下面是我的家庭模型:
import DS from 'ember-data';
export default DS.Model.extend({
title : DS.attr('string'),
});
Home.reopenClass({
FIXTURES :[
{
id: 1,
title: 'Sponge B',
},
{
id: 2,
title: 'John David',
},
]
});
这里是我回家的路线:
import Ember from 'ember';
//import DS from 'ember-data';
export default Ember.Route.extend({
model: function(){
return this.store.find('Home');
},
});
这是我的主页模板:
<div id="home">
{{#each}}
<p>{{title}}</p>
{{/each}}
</div>
{{outlet}}
谁能帮帮我吗?
我认为这与我的模型挂钩有关。这可能也是一个控制器的问题。我生成了一个基本的控制器。我应该生成一个arrayController吗?。保存时home路由给我这个错误消息:模特/家.js:第9行,第1列,'Home'没有定义。但是当我定义它的时候仍然有一个问题。我是不是应该ad一个叫做adapters的文件夹,然后在里面放一个叫做application.js的文件,然后ad导出默认的DS.FixtureAdapter.extend();。但是,当我这样做时,它告诉我DS未定义
3条答案
按热度按时间w8ntj3qf1#
看起来您将模型显式导出为
Home
,然后尝试导出为不具有相同字母大小写的find('home')
。Ember不会自动为您解决案例,如果您想使用
Home
作为模型,您将需要每次都以相同的方式调用它。你甚至可能需要
import Home from '../models/model-file';
,如果你想从路线上调用它。更简单的方法是使用隐式的
export default Ember.Model.extend({})
,让ember-cli使用您的文件名解析类。http://www.ember-cli.com/#using-modules
5m1hhzi42#
您的模板似乎有问题。您引用了一个不存在的
item
属性:此外,您的模型还存在一些语法问题。请尝试以下操作:
nzk0hqpo3#
对于夹具适配器,您将application.js添加到adapters文件夹并从“ember-data”导入DS是正确的。
在Steve H的住宅模型示例中,FIXTURES的定义也不正确。请尝试使用:首页.夹具= [...];
请确保路径正确。