A repository of different Map diffing strategies used by NgClass, NgStyle, and others.
API
class KeyValueDiffers {
constructor(factories: KeyValueDifferFactory[]): KeyValueDiffers;
find(kv: any): KeyValueDifferFactory;
static create<S>(factories: KeyValueDifferFactory[], parent?: KeyValueDiffers | undefined): KeyValueDiffers;
static extend<S>(factories: KeyValueDifferFactory[]): StaticProvider;
}
constructor
KeyValueDiffers
@returns
KeyValueDiffers
find
KeyValueDifferFactory
@paramkv
any
@returns
KeyValueDifferFactory
create
KeyValueDiffers
@returns
KeyValueDiffers
extend
StaticProviderTakes an array of KeyValueDifferFactory and returns a provider used to extend the inherited KeyValueDiffers instance with the provided factories and return a new KeyValueDiffers instance.
@returns
StaticProvider
Usage notes
Example
The following example shows how to extend an existing list of factories, which will only be applied to the injector for this component and its children. This step is all that's required to make a new KeyValueDiffer available.
@Component({
viewProviders: [
KeyValueDiffers.extend([new ImmutableMapDiffer()])
]
})