Skip to content

Removing event listeners on debouncedDidResize removes every listener regardless of context #311

@jdurand

Description

@jdurand

Following this components destruction, every previously registered debouncedDidResize listener stops firing.

import Component from '@ember/component';
import { inject as service } from '@ember/service';

function doResize() { /* ... */ }

export default Component.extend({
  resize: service(),

  didInsertElement() {
    this._super(...arguments);

    this.get('resize').on('debouncedDidResize', this, doResize, 100);
    doResize.call(this);
  },

  willDestroyElement() {
    this._super(...arguments);
    this.get('resize').off('debouncedDidResize', this);
  }
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions