首页 > 解决方案 > 如何解决不要使用 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.13to更新3.1.0,这就是我收到错误的原因。

请帮我

标签: ember.jsember-dataember-cli

解决方案


Ember.property()已弃用。

代替:

headers: function() {
  // ...
}.property().volatile(),

...做:

headers: computed(function () {
  // ...  
}).volatile(),

还要在顶部添加计算的导入:

import { computed } from '@ember/object';

当您看到这些 eslint 错误时,请在 google 搜索规则的名称,在这种情况下为ember/no-function-prototype-extensions. 您将找到错误的描述以及如何修复:

https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/no-function-prototype-extensions.md


推荐阅读