property listChanges


Stream<List<ListChangeRecord>> listChanges

The stream of summarized list changes, delivered asynchronously.

Each list change record contains information about an individual mutation. The records are projected so they can be applied sequentially. For example, this set of mutations:

var model = new ObservableList.from(['a', 'b']);
model.listChanges.listen((records) => records.forEach(print));
model.removeAt(1);
model.insertAll(0, ['c', 'd', 'e']);
model.removeRange(1, 3);
model.insert(1, 'f');

The change records will be summarized so they can be "played back", using the final list positions to figure out which item was added:

#<ListChangeRecord index: 0, removed: [], addedCount: 2>
#<ListChangeRecord index: 3, removed: [b], addedCount: 0>

deliverChanges can be called to force synchronous delivery.