我正在尝试在使用cli生成的余烬应用程序中使用夹具数据。我找不到我的数据。检查员显示我有一个称为post的模型,但其中没有任何模型。我不确定为什么它不起作用,所以发布我认为相关的文件...
模型/ post.js
var Post = DS.Model.extend({
title: DS.attr('string'),
content: DS.attr('string'),
publishDate: DS.attr('date')
});
Post.reopenClass({
FIXTURES: [
{
id: 1,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
},
{
id: 2,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
}
]
});
export default Post;
router.js
var Router = Ember.Router.extend({
location: ENV.locationType
});
Router.map(function() {
this.resource('posts', { path: '/' });
});
export default Router;
路线/index.js
export default Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
控制器/posts.js
var PostsController = Ember.ArrayController.extend({
});
export default PostsController;
template / posts.hbs
<p>Test</p>
<ul>
{{#each}}
<li>
{{title}}
</li>
{{/each}}
</ul>
我认为这个问题是ember-cli特有的。我之前有一些使用Ember App Kit的装置,但是想使用ember-cli。我添加了适配器,并尝试更改灯具的声明方式:
适配器/ post.js
var PostAdapter = DS.FixtureAdapter.extend({});
export default PostAdapter;
更改模型/post.js
var Post = DS.Model.extend({
title: DS.attr('string'),
content: DS.attr('string'),
publishDate: DS.attr('date')
});
Post.FIXTURES = [
{
id: 1,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
},
{
id: 2,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
}
];
export default Post;
这仍然行不通。Ember检查器显示的帖子具有正确的字段(ID,标题,内容publishDate),但没有实际数据。
我需要在以下位置添加夹具适配器:
适配器/application.js
export default DS.FixtureAdapter.extend({});
然后,它可以与夹具的reopenClass版本一起使用:
模型/ post.js
var Post = DS.Model.extend({
title: DS.attr('string'),
content: DS.attr('string'),
publishDate: DS.attr('date')
});
Post.reopenClass({
FIXTURES: [
{
id: 1,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
},
{
id: 2,
title: "Writing a blog in Ember",
content: "I am writting a blog",
publishDate: "05/22/2104"
}
]
});
export default Post;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句