From 3865d2c14366cf4cecbad94961c3c8a8ef728dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Buscht=C3=B6ns?= Date: Fri, 7 Aug 2020 00:35:56 +0200 Subject: [PATCH] docs(README): add `@destructor` --- README.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 84449b9..d6d22ce 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ ember install ember-lifeline-decorators ember-lifeline | **[`@schedule`](#schedule)** | [`scheduleTask`][scheduletask] | Schedule this method on a run loop queue | | **[`@debounce`](#debounce)** | [`debounceTask`][debouncetask] | Debounce this method | | **[`@throttle`](#throttle)** | [`throttleTask`][throttletask] | Throttle this method | -| **[`@disposable`](#disposable)** | [`registerDisposable`][registerdisposable] | Automatically execute this method during `willDestroy` | +| **[`@destructor`](#destructor)** | [`registerDisposable`][registerdisposable] | Automatically execute this method during `willDestroy` | | **[`@eventListener`](#eventListener)** | [`addEventListener`][addeventlistener] | Execute this method when a DOM event is fired | [runtask]: https://github.com/ember-lifeline/ember-lifeline#runtask @@ -157,6 +157,36 @@ export default class ExampleComponent extends Component { } ``` +#### `@destructor` + +[`registerDisposable`][registerdisposable] / [`import { registerDestructor } from '@ember/destroyable';`](https://emberjs.github.io/rfcs/0580-destroyables.html#registerdestructor) + +Calls this method during destruction of the object. + +```js +import { action } from '@ember/object'; +import Component from '@glimemr/component'; +import { destructor } from 'ember-lifeline-decorators'; + +export default class ExampleComponent extends Component { + constructor(owner, args) { + super(owner, args); + + window.addEventListener('resize', this.onResize); + } + + @destructor + unregister() { + window.removeEventListener('resize', this.onResize); + } + + @action + onResize(event) { + // ... + } +} +``` + #### `@eventListener` - **`target`**: