Skip to content

Commit 485dbf7

Browse files
authored
Merge pull request #620 from stillst/43-signal-input-ru-translation
docs(ru): 43-signal-input translation
2 parents 0bbaeeb + ed865c3 commit 485dbf7

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: 🟢 Signal Input
3+
description: Испытание 43 про то как использовать signal inputs
4+
author: thomas-laforge
5+
challengeNumber: 43
6+
command: angular-signal-input
7+
sidebar:
8+
order: 16
9+
---
10+
11+
## Информация
12+
13+
Наконец настал тот день, когда разработчики Angular добавили долгожданный реактивный input.
14+
Фича, которую ждали на протяжении многих лет, появилась в версии 17.1 под названием `SignalInput`.
15+
Теперь, вместо привычного декоратора `@Input`, у нас есть функция, которая возвращает сигнал.
16+
17+
```ts
18+
// старый способ
19+
@Input() age?: number;
20+
21+
// новый способ
22+
age = input<number>()
23+
```
24+
25+
Если нужны обязательные inputs.
26+
27+
```ts
28+
// старый способ
29+
@Input({required: true}) age!: number;
30+
31+
// новый способ
32+
age = input.required<number>()
33+
```
34+
35+
Если было нужно получить сигнал из input приходилось использовать сеттер.
36+
37+
```ts
38+
// старый способ
39+
age = signal(0)
40+
@Input({alias: 'age'}) set _age(age: number){
41+
this.age.set(age)
42+
};
43+
44+
// новый способ
45+
age = input<number>()
46+
```
47+
48+
## Пояснение
49+
50+
Задача этого упражнения - переработать `UserComponent`, чтобы в нем был использован `SignalInput`.
51+
52+
- У вас есть обязательные и не обязательные inputs.
53+
- Вы можете использовать функцию `transform` для ввода `age`, чтобы преобразовать свойство в число.

0 commit comments

Comments
 (0)