Page Contents
Home > @loopback/context > inject > binding
inject.binding() function
Inject the binding object for the given key. This is useful if a binding needs to be set up beyond just a constant value allowed by @inject.setter. The injected binding is found or created based on the metadata.bindingCreation option. See BindingCreationPolicy for more details.
Signature:
binding: (bindingKey?: string | BindingKey<unknown>, metadata?: InjectBindingMetadata) => (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void
Parameters
| Parameter | Type | Description |
|---|---|---|
| bindingKey | string \| [BindingKey](/doc/en/lb4/apidocs.context.bindingkey.html)<unknown> | _(Optional)_ Binding key |
| metadata | [InjectBindingMetadata](/doc/en/lb4/apidocs.context.injectbindingmetadata.html) | _(Optional)_ Metadata for the injection |
Returns:
(target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void
Example
class MyAuthAction {
@inject.binding('current-user', {
bindingCreation: BindingCreationPolicy.ALWAYS_CREATE,
})
private userBinding: Binding<UserProfile>;
async authenticate() {
this.userBinding.toDynamicValue(() => {...});
}
}