ValueNotifier class - foundation library (original) (raw)

A ChangeNotifier that holds a single value.

When value is replaced with something that is not equal to the old value as evaluated by the equality operator ==, this class notifies its listeners.

Limitations

Because this class only notifies listeners when the value's _identity_changes, listeners will not be notified when mutable state within the value itself changes.

For example, a ValueNotifier<List<int>> will not notify its listeners when the contents of the list are changed.

As a result, this class is best used with only immutable data types.

For mutable data types, consider extending ChangeNotifier directly.

Inheritance

Implemented types

Implementers

Constructors

ValueNotifier(T _value)

Creates a ChangeNotifier that wraps this value.

Properties

hashCodeint

The hash code for this object.

no setterinherited

hasListenersbool

Whether any listeners are currently registered.

no setterinherited

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

value ↔ T

The current value stored in this notifier.

getter/setter pairoverride-getter

Methods

addListener(VoidCallback listener)→ void

Register a closure to be called when the object changes.

inherited

dispose()→ void

Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls toaddListener will throw after the object is disposed).

inherited

noSuchMethod(Invocation invocation)→ dynamic

Invoked when a nonexistent method or property is accessed.

inherited

notifyListeners()→ void

Call all the registered listeners.

inherited

removeListener(VoidCallback listener)→ void

Remove a previously registered closure from the list of closures that are notified when the object changes.

inherited

toString()→ String

A string representation of this object.

override

Operators

operator ==(Object other)→ bool

The equality operator.

inherited