---
url: >-
  https://lit-ui-router.dev/reference/lit-ui-router-signals/interfaces/SignalControllerOptions.md
---
[lit-ui-router-signals](../index.md) / SignalControllerOptions

# Interface: SignalControllerOptions\<T>

Defined in: [signal-controller.ts:5](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/lit-ui-router-signals/src/signal-controller.ts#L5)

Options for [SignalController](../classes/SignalController.md).

## Extended by

* [`RouterSignalControllerOptions`](RouterSignalControllerOptions.md)

## Type Parameters

| Type Parameter |
| ------ |
|  `T` |

## Properties

| Property | Type | Description | Defined in |
| ------ | ------ | ------ | ------ |
|  `equals?` | (`a`, `b`) => `boolean` | Comparer deciding whether the selected value changed, passed to the selector's `Signal.Computed`. Defaults to `Object.is`. | [signal-controller.ts:24](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/lit-ui-router-signals/src/signal-controller.ts#L24) |
|  `initialValue?` | `T` | Value exposed on `.value` before the first read — that is, before `hostConnected`, and on any host that renders while disconnected (SSR). Without it `.value` is `undefined` until the host connects. | [signal-controller.ts:18](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/lit-ui-router-signals/src/signal-controller.ts#L18) |
|  `onChange?` | (`value`) => `void` | Invoked (before `host.requestUpdate()`) whenever the selected value changes — and once on every host (re)connect. Use for effects such as resetting component state from route params. | [signal-controller.ts:11](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/lit-ui-router-signals/src/signal-controller.ts#L11) |
