💼 This rule is enabled in the ✅ recommended config.
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.
This rule disallows using arrow functions in computed properties.
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}`;
})
});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 athisreference (default:false)