Size: a a a

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

2019 October 28

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Эрик Поуль
@thekiba это работает, но честно говоря не до конца понятно как😁
Оно автоматом прокидывает все инпуты и аутпуты
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Smooth Operator
ох уж эти геттеры и вызовы функций в шаблонах при интерполяции
Чем плохи геттеры?
источник

ЭП

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

TN

Taras Nechitaylo in Angular - русскоговорящее сообщество
Народ, всем привет. Подскажите, кто знает, в чем отличие создания динамического компонента через *ngIf и component factory resolver.
источник

MT

Maxim Tselikin in Angular - русскоговорящее сообщество
Alex Inkin
Всем привет. Написал тут статью, как мы в Тинькофф делаем переиспользуемые компоненты:
https://habr.com/ru/company/tinkoff/blog/473108/
Там про то, как их делать на дженериках и, самое важное, как сделать их внешний вид супер гибко кастомизируемым, с небольшой open-source библиотекой в довесок, чтобы этот подход применять. Всех приглашаю почитать, покомментить :)
Тока что тебя читал и тут вот ты))
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Привет )
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Alex Inkin
Чем плохи геттеры?
тоже самое что вызывать функцию в шаблоне для фильтрации
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Smooth Operator
тоже самое что вызывать функцию в шаблоне для фильтрации
Да, эту тему не расписал, потому что и так большая статья вышла. В будущем обязательно напишу статью о производительности. Такой вариант, конечно, неверный, это лучше делать через пайп. Поставлю там коммент, чтобы не смущать народ.
источник

R

RA-TA-TATA in Angular - русскоговорящее сообщество
Alex Inkin
Да, эту тему не расписал, потому что и так большая статья вышла. В будущем обязательно напишу статью о производительности. Такой вариант, конечно, неверный, это лучше делать через пайп. Поставлю там коммент, чтобы не смущать народ.
можно ваши статейки?
источник

MT

Maxim Tselikin in Angular - русскоговорящее сообщество
Геттеры в шаблонах - адок. Коллега делал компонент с кучей геттеров во вью. Выкатили, когда компонент > 40раз прорендерился - приложуха начала тормозить. Выпилил все геттеры - стало лучше.
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
А насчёт геттеров — геттер, не создающий массивов/объектов а, например, пробегающийся просто по массиву из 100 элементов выполняется за долю миллисекунды. Вызов функции для интерполяции, конечно, задуман для чистых функций. К пример отстилизовать ошибку для валидатора, где контекст — ошибка (например ангуляровский `{maxLength: 12}`), а функция — типа:
function maxLengthError({maxLength}): string {
   return `Превышен лимит в ${maxLength} символов`;
}
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Maxim Tselikin
Геттеры в шаблонах - адок. Коллега делал компонент с кучей геттеров во вью. Выкатили, когда компонент > 40раз прорендерился - приложуха начала тормозить. Выпилил все геттеры - стало лучше.
Проблема то не в геттерах)
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Maxim Tselikin
Геттеры в шаблонах - адок. Коллега делал компонент с кучей геттеров во вью. Выкатили, когда компонент > 40раз прорендерился - приложуха начала тормозить. Выпилил все геттеры - стало лучше.
Надо использовать OnPush и правильно писать геттеры. Нормально написанные геттеры не станут проблемой в производительности, а преимущества от декларативности против императивного обновления состояний руками в каком-нибудь ngOnChanges будут налицо, когда привыкнете так писать.
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Oleg Safonov
Проблема то не в геттерах)
а в чем
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
RA-TA-TATA
можно ваши статейки?
https://habr.com/ru/users/waterplea/posts/
Там про оптимизацию событий ещё скоро напишу, а то та статья, скорее, экспериментальное копание в механизмах, не очень удобно применять :)
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Smooth Operator
а в чем
В коде. Можно и без геттеров написать код, который будет тормозить. Не так разве?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Alex Inkin
А насчёт геттеров — геттер, не создающий массивов/объектов а, например, пробегающийся просто по массиву из 100 элементов выполняется за долю миллисекунды. Вызов функции для интерполяции, конечно, задуман для чистых функций. К пример отстилизовать ошибку для валидатора, где контекст — ошибка (например ангуляровский `{maxLength: 12}`), а функция — типа:
function maxLengthError({maxLength}): string {
   return `Превышен лимит в ${maxLength} символов`;
}
1) все равно плохо
2) задумывалось, но так не работает, плохо
3) вы каждый раз создаете новую строку, плохо
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Alex Inkin
Надо использовать OnPush и правильно писать геттеры. Нормально написанные геттеры не станут проблемой в производительности, а преимущества от декларативности против императивного обновления состояний руками в каком-нибудь ngOnChanges будут налицо, когда привыкнете так писать.
OnPush тут не при чем, когда будет запущена проверка, вызывуться все геттеры и функции в шаблоне
хотя должны вызваться только те у которых изменились зависимости
источник

Ln

Larymar neosilator in Angular - русскоговорящее сообщество
добрый вечер
пытаюсь распарсить вложенный json но не могу из-за того , что у него экраннированные символы

this.http.get<History[]>(this.getUrl("url"));
как можно игнорировать их
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Smooth Operator
OnPush тут не при чем, когда будет запущена проверка, вызывуться все геттеры и функции в шаблоне
хотя должны вызваться только те у которых изменились зависимости
на примере того геттера выше, у него три зависимости, должен вызываться когда любая из них меняется
с OnPush он будет вызываться все равно, даже если не было изменений зависимостей
источник