gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:51:22 27 4
gpt4 key购买 nike

我使用的是 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');
}
});

这是我的 ember 租赁服务

import Ember from 'ember';

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

为什么我无法访问租赁服务上的 ember 数据?每当我在租赁服务中控制台 .log this.get('store') 时,它都会返回未定义的值。然而,在路线上,每当我 console.log 相同的代码时,它都会返回此值。

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

enter image description here

我正在使用 Mirage 来模拟 Web 服务器/http 请求

最佳答案

您无法访问 ember 组件/服务内的商店。解决此问题的方法是通过依赖项注入(inject)检索存储。

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 的服务,请小心,它可能会获取该服务。

关于javascript - 无法在 Ember.service 内执行 ember 数据查询/休息调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43159768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com