ember-decorators
This addon adds decorator support to Ember, allowing you to DRY-up your code and write modern ES6 classes.
More details:
Usage
Installation
ember install ember-decorators
Application Usage
In your application where you would normally have:
import Ember from 'ember';
export default Ember.Component.extend({
foo: Ember.inject.service(),
bar: Ember.computed('someKey', 'otherKey', function() {
var someKey = this.get('someKey');
var otherKey = this.get('otherKey');
}),
actions: {
handleClick() {
}
}
})
You replace it with this:
import Ember from 'ember'
import { action, computed } from 'ember-decorators/object';
import { service } from 'ember-decorators/service';
export default class MyComponent extends Ember.Component {
@service foo
@computed('someKey', 'otherKey')
bar(someKey, otherKey) {
}
@action
handleClick() {
}
}
The packages in ember-decorators
are setup to mirror Ember's javascript module
API. Decorators can be imported from the packages that they belong to:
import {
attr,
hasMany,
belongsTo
} from 'ember-decorators/data';
import {
controller
} from 'ember-decorators/controller';
import {
action,
computed,
observes
} from 'ember-decorators/object';
import {
alias,
or,
reads
} from 'ember-decorators/object/computed';
import {
on
} from 'ember-decorators/object/evented';
import {
service
} from 'ember-decorators/service';
See the API Documentation
for detailed examples and documentation of the individual decorators.
Note: The @computed
decorator wraps ember-macro-helpers
which provides a lot of helpful features on top of standard computeds. It is
highly recommended that you read the documentation for that addon as well.
Installation
git clone <repository-url>
this repositorycd ember-decorators
npm install
bower install
Running
Running Tests
npm test
(Runs ember try:each
to test your addon against multiple Ember versions)ember test
ember test --server
Building
For more information on using ember-cli, visit https://ember-cli.com/.