cli 的 ember.js 中的固定装置数据在哪里

2024-02-25

我正在尝试在使用 cli 生成的 ember 应用程序中使用固定装置数据。我找不到我的数据。检查员显示我有一个名为 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;

路由器.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;

模板/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;

Changed模型/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、标题、内容发布日期)的帖子,但没有实际数据。


我需要将我的夹具适配器添加到:

适配器/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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cli 的 ember.js 中的固定装置数据在哪里 的相关文章

随机推荐