无法在Ember.service中执行ember数据查询/休息调用

时间:2017-04-01 17:12:51

标签: javascript ember.js

我正在使用ember 2.12

这是我的路线

import Ember from 'ember';

export default Ember.Route.extend({
    rentalService: Ember.inject.service('rentals-service'),

    model(){
        this.get('rentalService').findRentals();
        console.log('Inside route');
        console.log(this.get('store'));
        return this.get('store').findAll('rental');
  }
});

这是我的余烬租赁服务

import Ember from 'ember';

export default Ember.Service.extend({
  findRentals() {
    console.log("Inside servce");
    console.log(this.get('store'));
    return "hello from servce";
  }
});

为什么我无法访问租赁服务上的余烬数据?每当我在租赁服务中控制.log this.get('store')时,它返回一个未定义的。但是在路由上,每当我在console.log中使用相同的代码时,它都会返回该值。

这是否意味着我无法使用服务中的ember数据执行休息调用?

enter image description here

我正在使用Mirage来模拟web-server / http请求

1 个答案:

答案 0 :(得分:2)

您无法访问ember组件/服务中的商店。解决方法是通过依赖注入检索商店。

export default Ember.Service.extend({
  store: Ember.inject.service('store'),

  findRentals() {
    console.log("Inside service");
    console.log(this.get('store'));
    return "hello from service";
  }
});

如果您有另一项名称为store的服务,请小心,它可能会获取该服务。