Size: a a a

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

2021 April 05

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
да, выше увидел
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
хотите, чтобы валидаторы сработали?
источник

А

Артур in Angular - русскоговорящее сообщество
Всем привет, такая ситуация:

У нас есть родительский компонент, на котором есть реактивная форма. Форма сложная со множеством полей(селекторы, инпуты, радиобаттоны, чекбоксы, разные классы и т.д - в общем просто циклом не сконструируешь).

Есть желание раскидать элементы формы из родительского шаблона на дочерние. Но FormControlName нельзя прокидывать в дочерние компоненты.

Вопрос - как бы вы подошли к этой проблеме? И есть ли какое-то "классическое" решение данной проблемы?
P.S. хочется сохранить подписку на все изменения только на родительской компоненте
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
источник

M

Maksim in Angular - русскоговорящее сообщество
FormControlName прокидывать можно, если осторожно https://stackblitz.com/edit/angular-zhhzgt-g9it3j?file=src%2Fapp%2Froot-form.ts
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
такая практика обычно приводит к ошибкам вида ExpressionChangedAfterItHasBeenCheckedError
источник

M

Maksim in Angular - русскоговорящее сообщество
много лет такую практику использую, таких ошибок не возникает
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
но это не классическое решение проблемы, это воркэраунд
источник

M

Maksim in Angular - русскоговорящее сообщество
для меня это решение - классическое
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
классический воркэраунд
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
повезло, повезло
источник

А

Артур in Angular - русскоговорящее сообщество
👍
источник

А

Артур in Angular - русскоговорящее сообщество
👍
источник

AK

Anton K. in Angular - русскоговорящее сообщество
немного туплю. у меня есть объект IconfinderSearchIconsResponse, внутри него есть массив icons: IconfinderIcon[];
все это дело мапится через return this.httpClient.get<IconfinderSearchIconsResponse>

но в шаблоне я внезапно не могу вызывать методы, которые описаны в IconfinderIcon классе.

ERROR TypeError: icon_r8.previewUrlForSize is not a function
источник

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
http возвращает plain object, а не экземпляр класса
источник

AK

Anton K. in Angular - русскоговорящее сообщество
что делать? объекты оставлять простыми объектами?
источник

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
желательно да.
источник

AK

Anton K. in Angular - русскоговорящее сообщество
куда-то логику эту надо будет выносить. в пайпы чтоли?
источник

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
куда угодно. Сервисы, пайпы и тд
источник

M

Maksim in Angular - русскоговорящее сообщество
или создавать инстанс класса в pipe httpclient'а (такое себе)
источник