Function
inject (name) ComputedDecorator public
Module: | @ember/service |
---|
Defined in packages/@ember/service/index.js:9
Available since v1.10.0
import { inject } from '@ember/service';
- name
- String
- (optional) name of the service to inject, defaults to the property's name
- returns
- ComputedDecorator
- injection decorator instance
Creates a property that lazily looks up a service in the container. There are no restrictions as to what objects a service can be injected into.
Example:
app/routes/application.js
import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default class ApplicationRoute extends Route { @service('auth') authManager; model() { return this.authManager.findCurrentUser(); } }
Classic Class Example:
app/routes/application.js
import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default Route.extend({ authManager: service('auth'), model() { return this.get('authManager').findCurrentUser(); } });
This example will create an authManager
property on the application route that looks up the auth
service in the container, making it easily accessible in the model
hook.
© 2020 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://api.emberjs.com/ember/3.25/functions/@ember%2Fservice/inject