如何在Ember.js中从Mirage获取数据?

时间:2017-04-11 13:21:54

标签: javascript ember.js

我需要从Mirage返回一个用户列表。我需要这个列表在前端渲染它。我该怎么做?

1 个答案:

答案 0 :(得分:0)

安装海市蜃楼:

ember install ember-cli-mirage

完成此操作后,您需要配置Mirage以发送数据。这可以通过更新文件mirage/config.js来完成。 在mirage/config.js文件中,最好定义命名空间,以便Ember应用程序的调用不会与已定义的路由冲突。 假设您希望Mirage返回用户的示例列表。您可以在mirage/config.js文件中执行以下操作:

export default function() {
  this.namespace = '/api';

  this.get('/users', function() {
    return {
        // list of users
    };
   });
}

现在,只要Ember应用程序向/api/users发出get请求,就会返回一个用户列表。 只有这样做还不够,您需要使应用程序默认向命名空间/api发出请求。 这是通过创建应用程序适配器来完成的。 要创建应用程序适配器:

ember generate adapter application

然后在app/adapters/application.js中添加如下命名空间:

export default DS.JSONAPIAdapter.extend({
  namespace: 'api'
});

重新启动Ember服务器将在您的构建中包含Mirage。

假设您正在为路线的模型功能中的所有用户发出请求:

export default Ember.Route.extend({
  model() {
    return this.get('store').findAll('users');
  }
})

此处,当您请求所有用户时,Ember数据将从/api/users获取所有用户。