class MyComponent { models = input<MyModel[]>([]); selectedId = signal<number | null>(null); constructor() { effect(() => { // reset selection this.models(); this.selectedIds.set(null); }); } select(id: number) { this.selectedId.set(id); } }
class MyComponent { models = input<MyModel[]>([]); selectedId = computed(() => { this.models(); return signal<number | null>(null); }); select(id: number) { this.selectedId().set(id); } }
class MyComponent { models = input<MyModel[]>([]); state = computed(() => { return { models: this.models(), selectedId: signal<number | null>(null), }; }); select(id: number) { this.state().selectedId.set(id); } }