Skip to content

Latest commit

 

History

History
98 lines (73 loc) · 1.97 KB

require-super-in-lifecycle-hooks.md

File metadata and controls

98 lines (73 loc) · 1.97 KB

ember/require-super-in-lifecycle-hooks

💼 This rule is enabled in the ✅ recommended config.

🔧 This rule is automatically fixable by the --fix CLI option.

Call super in lifecycle hooks.

When overriding lifecycle hooks inside Ember Components, Controllers, Routes, Mixins, or Services, it is necessary to include a call to super.

Examples

Examples of incorrect code for this rule:

import Component from '@ember/component';

export default Component.extend({
  init() {
    this.set('items', []);
  }
});
import Component from '@ember/component';

export default Component.extend({
  didInsertElement() {
    // ...
  }
});
import Component from '@ember/component';

class Foo extends Component {
  init() {
    // ...
  }
}

Examples of correct code for this rule:

import Component from '@ember/component';

export default Component.extend({
  init(...args) {
    this._super(...args);
    this.set('items', []);
  }
});
import Component from '@ember/component';

export default Component.extend({
  didInsertElement(...args) {
    this._super(...args);
    // ...
  }
});
import Component from '@ember/component';

class Foo extends Component {
  init(...args) {
    super.init(...args);
    // ...
  }
}
import Component from '@ember/component';

class Foo extends Component {
  didInsertElement(...args) {
    super.didInsertElement(...args);
    // ...
  }
}

Configuration

This rule takes an optional object containing:

  • boolean -- checkInitOnly -- whether the rule should only check the init lifecycle hook and not other lifecycle hooks (default false)
  • boolean -- checkNativeClasses -- whether the rule should check lifecycle hooks in native classes (in addition to classic classes) (default true)