value property

  1. @override
T get value
override

Returns the current value and establishes a reactive dependency.

When accessed within a reactive context (like a Computed or Effect), the context will be notified when this signal changes.

Example:

final counter = Signal(0);
final doubled = Computed(() => counter.value * 2); // Creates dependency

Implementation

@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
@override
T get value {
  assert(!isDisposed, "Signal is disposed");
  return getSignal(this);
}
  1. @override
set value (T value)
override

Sets a new value for the signal and notifies subscribers when it changes.

Parameters:

  • value: The new value to set

Example:

final counter = Signal(0);
counter.value = 10;
counter.set(11);

Sets a new value for the signal and notifies subscribers when it changes.

Parameters:

  • value: The new value to set

Example:

final counter = Signal(0);
counter.value = 10;
counter.set(11);

Implementation

@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
@override
set value(T value) {
  assert(!isDisposed, "Signal is disposed");
  setSignal(this, value);
}