Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

This Ember.js addon provides a {{did-resize}} modifier that calls a callback whenever a given element is resized.

The resize detection itself is handled by element-resize-detector.


  • Ember.js v2.18 or above
  • Ember CLI v2.13 or above
  • Node.js v8 or above


ember install ember-did-resize-modifier


<div {{did-resize this.onResize}}>
  Resize the window to see the modifier in action
import Component from '@ember/component';
import { action } from '@ember-decorators/object';

export default class ResizableComponent extends Component {
  onResize(element: HTMLElement) {
    console.log('div resized!');

The @action decorator is used to bind the onResize method to the component instance.

Debouncing Resize Events

In the case of an element resizing fluidly (based on the percentage of the screen when the user resizes a window, for example), one may not want their {{did-resize}} callback to be called continiously. The debounce property may be used to only call the callback after no resize has been detected for a given time.

  {{did-resize this.onResize debounce=250}}
  Will only have this.onResize called if a resize has not been detected in the last 250ms

There is no debounce by default. This means you can also use a restartable ember-concurrency task as a debounce mechanism if that better suits your needs.

Handling Multiple Resize Callbacks

You can use the {{did-resize}} modifier multiple times on the same element.

  {{did-resize this.onResize}}
  {{did-resize this.onResizeAgain}}
  Resize the window to see the modifier in action

Calling the Resize Callback on Creation

The {{did-resize}} modifier is designed to only call handlers when the element is actually resized. If you would like to also call the resize handler when the element is created, it is recommended that you install ember-render-modifiers and use the {{did-insert}} modifier.

  {{did-insert this.onResize}}
  {{did-resize this.onResize}}
  Resize the window to see the modifier in action


See the Contributing guide for details.


This project is licensed under the MIT License.

You can’t perform that action at this time.