在 Ember 4 适配器中覆盖计算的 属性
Override computed property in Ember 4 adapter
在 Ember / JavaScript 的“新”class 风格中(至少对我来说是新的),我无法调整旧教程来设置计算 属性 在我的 JSONAPIAdapter
.
export default class ApplicationAdapter extends JSONAPIAdapter {
@service session;
headers: computed('session.isAuthenticated', 'session.data.authenticated.token', function() {
if (this.session.isAuthenticated) {
return {
Authorization: `Bearer ${ this.session.data.authenticated.token }`,
结果
$TMPDIR/embroider/b3d2a6/adapters/application.js/application.js: Unexpected token (8:9)
6 | @service session;
7 |
> 8 | headers: computed('session.isAuthenticated', 'session.data.authenticated.token', function() {
文档 ( https://api.emberjs.com/ember-data/4.3/classes/JSONAPIAdapter/properties/headers?anchor=headers ) 暗示这应该有效,但我认为 @service session
行把事情搞砸了。
在 2022 年设置 headers
属性 和 Ember 4 class 的正确方法是什么?
不确定您看到的是什么错误,但您应该可以将其替换为 getter
get headers() {
if (this.session.isAuthenticated) {
return {
Authorization: `Bearer ${ this.session.data.authenticated.token }
}
}
}
你可以看到一个工作示例in our addapter
在 Ember / JavaScript 的“新”class 风格中(至少对我来说是新的),我无法调整旧教程来设置计算 属性 在我的 JSONAPIAdapter
.
export default class ApplicationAdapter extends JSONAPIAdapter {
@service session;
headers: computed('session.isAuthenticated', 'session.data.authenticated.token', function() {
if (this.session.isAuthenticated) {
return {
Authorization: `Bearer ${ this.session.data.authenticated.token }`,
结果
$TMPDIR/embroider/b3d2a6/adapters/application.js/application.js: Unexpected token (8:9)
6 | @service session;
7 |
> 8 | headers: computed('session.isAuthenticated', 'session.data.authenticated.token', function() {
文档 ( https://api.emberjs.com/ember-data/4.3/classes/JSONAPIAdapter/properties/headers?anchor=headers ) 暗示这应该有效,但我认为 @service session
行把事情搞砸了。
在 2022 年设置 headers
属性 和 Ember 4 class 的正确方法是什么?
不确定您看到的是什么错误,但您应该可以将其替换为 getter
get headers() {
if (this.session.isAuthenticated) {
return {
Authorization: `Bearer ${ this.session.data.authenticated.token }
}
}
}
你可以看到一个工作示例in our addapter