Size: a a a

Angular - русскоговорящее сообщество

2019 November 27

С

Степан in Angular - русскоговорящее сообщество
Лишние переменные типо плодим
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Степан
Я не догоняю, а в чем трабл
Трабл в детектировании изменений в Angular. Мы же тут не говорим Angular, что что-то поменялось, верно? Поэтому есть кейсы, когда что-то пойдет не так. Да и в целом такой подход делает разработку и тестирование потоков на порядки сложнее.
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
а как же грязный markForCheck() ?:)
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Yuri Stepanov
а как же грязный markForCheck() ?:)
Лично мне очень лень это делать)
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
А зачем это делать, если можно написать иначе, чтобы не делать лишнего
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
ну если combineLatest на потоков 20, в конце 1 раз запустить детектор
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
звучит не так плохо
источник

D

Danil in Angular - русскоговорящее сообщество
Вертихвост キバ
Есть 5 простых правил, как можно обезопасить себя от 99.9% проблем

1. Не делать подписки в подписках, а использовать специальные операторы.
2. Всегда отписываться, если есть подписка, и не верить take и first.
3. takeUntil должен быть в самом конце.
4. Никогда не использовать .toPromise().
5. Никогда не делать .subscribe(name => this.name = name).
а как правильно? можно пример
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Yuri Stepanov
звучит не так плохо
Это так кажется. У нас 20 потоков и combineLatest, нужно помнить про отписку и теперь еще и про детектирование измненеий. Уже 4 вещи. А если их будет больше, то будет еще сложнее.

Поэтому лучше оставить 20 потоков и combineLatest, а все остальное пусть само делается.
источник

GK

George Kozlov in Angular - русскоговорящее сообщество
Степан
По поводу 5. Лучше это делать в pipe?
если в шаблоне, то
<div>{{ observable$ | async }}</div>

а если в логике, то создаете новый поток на основе нужного
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
George Kozlov
если в шаблоне, то
<div>{{ observable$ | async }}</div>

а если в логике, то создаете новый поток на основе нужного
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Либо выше эксперимент с @Async() декоратором. Но он только с Ivy работает.
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
async пайп вещь такая, её удобно юзать когда данные надо просто показать в html
источник

D

Danil in Angular - русскоговорящее сообщество
Вертихвост キバ
Либо выше эксперимент с @Async() декоратором. Но он только с Ivy работает.
не понял. просто сейчас с запросами с апихи так и делаю после пацпа
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
а если надо с данными что-то сделать?:) в компоненте написать кучу пайпов?
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
это нечитабельно
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Надо стараться делать читаемо)
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
и combineLatest единственный нормальный вариант
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
мне нравится 1 красивый комбайн, чем 20 пайпов)
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
а так Ivy ждут как 2-го пришествия :) будем посмотреть
источник