Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 1.4 KB

no-arrow-function-computed-properties.md

File metadata and controls

46 lines (30 loc) · 1.4 KB

no-arrow-function-computed-properties

✅ The "extends": "plugin:ember/recommended" property in a configuration file enables this rule.

Arrow functions should not be used in computed properties because they are unable to access other properties (using this.property) of the same object. Accidental usage can thus lead to bugs.

Rule Details

This rule disallows using arrow functions in computed properties.

Examples

Examples of incorrect code for this rule:

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

const Person = EmberObject.extend({
  fullName: computed('firstName', 'lastName', () => {
    return `${this.firstName} ${this.lastName}`;
  })
});

Examples of correct code for this rule:

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

const Person = EmberObject.extend({
  fullName: computed('firstName', 'lastName', function () {
    return `${this.firstName} ${this.lastName}`;
  })
});

Configuration

This rule takes an optional object containing:

  • boolean -- onlyThisContexts -- whether the rule should allow or disallow computed properties where the arrow function body does not contain a this reference (default: false)

References