One instance per component in Angular
Angular interview exercise on Dependency injection, difficulty 2 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.
SelectionService keeps a `current` signal (a string or null) with select(name) and is(name). PickerComponent lists its `options` input as <button class="option"> elements, marks the chosen one with the class "chosen" and shows it in <p class="current"> ("none" when nothing is chosen). Each picker must have its own SelectionService.
Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.