Emitted when a ModelReference's value is set.

### Type parameters

- #### T

### Hierarchy

- ReferenceChangedEvent

### Implements

- IConvergenceEvent

## Index

### Constructors

- constructor

### Properties

- addedValues
- name
- oldValue
- oldValues
- removedValues
- src
- synthetic
- NAME

## Constructors

### constructor

- new ReferenceChangedEvent(src: ModelReference<any>, oldValues: T[], addedValues: T[], removedValues: T[], synthetic: boolean): ReferenceChangedEvent

- #### Parameters

  - ##### src: ModelReference<any>

  - ##### oldValues: T[]

  - ##### addedValues: T[]

  - ##### removedValues: T[]

  - ##### synthetic: boolean

  #### Returns ReferenceChangedEvent

## Properties

### addedValues

addedValues: T[]

All newly-added values. That is, values that were not in the set of old values.

### name

name: string = ReferenceChangedEvent.NAME

Implementation of IConvergenceEvent.name

The name of the event that was fired. This is commonly used to filter when using the ConvergenceEventEmitter.events stream.

Note that the name is only guaranteed to be unique within the class / subsystem that is firing it. Names might be reused across classes and subsystems.

### oldValue

oldValue: T

The first (if there were multiple) previous value of the reference.

### oldValues

oldValues: T[]

The previous values of the reference.

### removedValues

removedValues: T[]

All just-removed values. That is, old values not in the set of new values.

### src

src: ModelReference<any>

The underlying reference that changed.

### synthetic

synthetic: boolean

true if this event was emitted by the system, as opposed to an explicit e.g. LocalModelReference.set.

### StaticNAME

NAME: "set" = "set"