Пропустить до содержимого
angular challenges logo Angular Challenges

🟢 Signal Input

Испытание #43

Создано Thomas Laforge

Информация

Наконец настал тот день, когда разработчики Angular добавили долгожданный реактивный input. Фича, которую ждали на протяжении многих лет, появилась в версии 17.1 под названием SignalInput. Теперь, вместо привычного декоратора @Input, у нас есть функция, которая возвращает сигнал.

// старый способ
@Input() age?: number;
// новый способ
age = input<number>()

Если нужны обязательные inputs.

// старый способ
@Input({required: true}) age!: number;
// новый способ
age = input.required<number>()

Если было нужно получить сигнал из input приходилось использовать сеттер.

// старый способ
age = signal(0)
@Input({alias: 'age'}) set _age(age: number){
this.age.set(age)
};
// новый способ
age = input<number>()

Пояснение

Задача этого упражнения - переработать UserComponent, чтобы в нем был использован SignalInput.

  • У вас есть обязательные и не обязательные inputs.
  • Вы можете использовать функцию transform для ввода age, чтобы преобразовать свойство в число.

Контрибьюторы

Спасибо всем контрибьюторам которые помогли сделать эту документацию лучше!

  • stillst