Skip to content

Latest commit

 

History

History
102 lines (76 loc) · 2.29 KB

require-super-in-lifecycle-hooks.md

File metadata and controls

102 lines (76 loc) · 2.29 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

Name Description Type Default
checkInitOnly Whether the rule should only check the init lifecycle hook and not other lifecycle hooks. Boolean false
checkNativeClasses Whether the rule should check lifecycle hooks in native classes (in addition to classic classes). Boolean true