var t = new OpaqueToken("value");
var injector = Injector.resolveAndCreate([
{provide: t, useValue: "bindingValue"}
]);
expect(injector.get(t)).toEqual("bindingValue");
Using an OpaqueToken is preferable to using strings as tokens because of possible collisions
caused by multiple providers using the same string as two different tokens.
Using an OpaqueToken is preferable to using an Object as tokens because it provides better
error messages.
deprecated
since v4.0.0 because it does not support type information, use InjectionToken<?>
instead.
Creates a token that can be used in a DI Provider.
Example (live demo)
var t = new OpaqueToken("value"); var injector = Injector.resolveAndCreate([ {provide: t, useValue: "bindingValue"} ]); expect(injector.get(t)).toEqual("bindingValue");
Using an
OpaqueToken
is preferable to using strings as tokens because of possible collisions caused by multiple providers using the same string as two different tokens.Using an
OpaqueToken
is preferable to using anObject
as tokens because it provides better error messages.since v4.0.0 because it does not support type information, use
InjectionToken<?>
instead.