ember.js - 如何解决不要使用 Ember 的函数原型扩展
问题描述
我收到了一个错误Don't use Ember's function prototype extensions ember/no-function-prototype-extensions
我的代码行是这样的
import JSONAPIAdapter from 'ember-data/adapters/json-api';
import $ from 'jquery';
import config from 'appName/config/environment';
export default JSONAPIAdapter.extend({
shouldReloadAll: function() {
return false;
},
shouldBackgroundReloadRecord: function() {
return true;
},
namespace: 'api/v1',
host: window.location.origin,
coalesceFindRequests: true,
headers: function() {
// Reference https://github.com/DavyJonesLocker/ember-appkit-rails/issues/220
// Only set the X-CSRF-TOKEN in staging or production, since API will only look for a CSRF token on those environments
let csrfToken;
if (config.environment === 'staging' || config.environment === 'production') {
csrfToken = $('meta[name="csrf-token"]').attr('content');
}
let authorizationToken = 'Token ' + this.currentSession.get('token');
return {
'X-CSRF-TOKEN': csrfToken,
'Authorization': authorizationToken
};
}.property().volatile(),
handleResponse(status, headers, payload, requestData) {
if (this.isInvalid(status, headers, payload)) {
if (payload && typeof payload === 'object' && payload.errors &&
typeof payload.errors === 'object') {
return payload.errors = [payload.errors];
}
}
return this._super(status, headers, payload, requestData);
}
});
这是我的终端所指的代码行,我.property().volatile(),
在谷歌上查看过,但找不到与我的工作类似的示例。顺便说一句,我已将我的 ember 版本从1.13.13
to更新3.1.0
,这就是我收到错误的原因。
请帮我
解决方案
Ember.property()
已弃用。
代替:
headers: function() {
// ...
}.property().volatile(),
...做:
headers: computed(function () {
// ...
}).volatile(),
还要在顶部添加计算的导入:
import { computed } from '@ember/object';
当您看到这些 eslint 错误时,请在 google 搜索规则的名称,在这种情况下为ember/no-function-prototype-extensions
. 您将找到错误的描述以及如何修复:
推荐阅读
- mongodb - $gte 和 $lte 运算符 mongo 按数字过滤字符串字段
- javascript - 使用 PHP 重新加载后删除查询
- android - 如何将数据存储到 Flutter 中的内部存储而不是 path_providers
- angular - IIS 上的 Angular 通用部署
- javascript - 我如何在javascript中随机生成一个二进制数?
- mongodb - 准确结果的 MongoDB 查询谓词
- java - 在单元测试中模拟 Executorservice 字段
- ios - Firebase 应用内消息 (iOS) - 仅在全新安装后接收
- javascript - Laravel上传多个文件并在控制器中返回文件名列表
- ssl - 带有自签名 SSL 证书的 Apache camel http4