Add route lifecycle hooks to a route's controller
npm install ember-controller-lifecycleember-controller-lifecycle
==============================================================================




Add route lifecycle hooks to a route's controller
If you want to reset state on your controller, you must override route hooks/events like so:
``js
import Ember from 'ember';
export default Ember.Route.extend({
setupController(controller) {
this._super(...arguments);
controller.set('foo', null);
controller.set('bar', Ember.A());
}
});
`
This couples a controller's private state to its route's code. You might then create a convention where you put controller setup code in its own function that you call from the route:
`js
import Ember from 'ember';
export default Ember.Route.extend({
setupController(controller) {
this._super(...arguments);
controller.setup();
}
});
`
`js
import Ember from 'ember';
export default Ember.Controller.extend({
setup() {
this.set('foo', null);
this.set('bar', Ember.A());
}
});
`
This addon functions the same way, it just eliminates the boilerplate by calling the hooks automatically.
Installation
------------------------------------------------------------------------------
``
ember install ember-controller-lifecycle
Usage
------------------------------------------------------------------------------
`js
import Ember from 'ember';
export default Ember.Controller.extend({
// https://www.emberjs.com/api/classes/Ember.Route.html#method_setupController
setup(model) {
},
// https://www.emberjs.com/api/classes/Ember.Route.html#method_resetController
reset(isExiting, transition) {
}
});
`
The hooks are automatically installed into every controller.
Contributing
------------------------------------------------------------------------------
* git clone cd ember-controller-lifecycle
* npm install
*
* npm run lint:jsnpm run lint:js -- --fix
*
* ember test – Runs the test suite on the current Ember versionember test --server
* – Runs the test suite in "watch mode"ember try:each
* – Runs the test suite against multiple Ember versions
* ember serve`
* Visit the dummy application at http://localhost:4200.
For more information on using ember-cli, visit https://ember-cli.com/.
License
------------------------------------------------------------------------------
This project is licensed under the MIT License.