ContainerProxyMixin Class
ContainerProxyMixin is used to provide public access to specific container functionality.
Item Index
Properties
Methods
_lookupFactory
(
Any
private
-
fullName
Given a fullName return the corresponding factory.
Parameters:
-
fullName
String
Returns:
Any:
_resolveLocalLookupName
(
String
private
-
fullName
-
source
Given a name and a source path, resolve the fullName
Returns:
lookup
(
Any
public
-
fullName
-
options
Given a fullName return a corresponding instance.
The default behaviour is for lookup to return a singleton instance. The singleton is scoped to the container, allowing multiple containers to all have their own locally scoped singletons.
let registry = new Registry();
let container = registry.container();
registry.register('api:twitter', Twitter);
let twitter = container.lookup('api:twitter');
twitter instanceof Twitter; // => true
// by default the container will return singletons
let twitter2 = container.lookup('api:twitter');
twitter2 instanceof Twitter; // => true
twitter === twitter2; //=> true
If singletons are not wanted an optional flag can be provided at lookup.
let registry = new Registry();
let container = registry.container();
registry.register('api:twitter', Twitter);
let twitter = container.lookup('api:twitter', { singleton: false });
let twitter2 = container.lookup('api:twitter', { singleton: false });
twitter === twitter2; //=> false
Parameters:
-
fullName
String -
options
Object
Returns:
Any:
ownerInjection
()
Object
public
Returns an object that can be used to provide an owner to a manually created instance.
Example:
let owner = Ember.getOwner(this);
User.create(
owner.ownerInjection(),
{ username: 'rwjblue' }
)
Returns:
Object:
Properties
__container__
Ember.Container
private
The container stores state.