Пож, через HostBinding можно привязываться только к нативным браузерным атрибутам или к полям компонентов тоже?

|
akolkov 2022-06-24 10:00:58
im_anime 2022-06-24 09:41:27
в ошибке же написано уже все

angular_ru-567998.jpg
в том случае, если добавить.

im_anime 2022-06-24 10:05:13
akolkov 2022-06-24 10:00:58
в том случае, если добавить.

а покажите как импортируете модуль

im_anime 2022-06-24 10:06:12
akolkov 2022-06-24 09:57:21
Спасибо, попробую. Странно жто все, они очно с этим таймингом не накосячили?
Зачем там этот ‘export =’ ?

это дефолтный экспорт (вроде как)

akolkov 2022-06-24 10:06:39
im_anime 2022-06-24 09:54:25
попробуйте прописать в tsconfig exclude: [«node_modules»] и skipLibCheck: true

не помогло.

akolkov 2022-06-24 10:07:19
angular_ru-568002.jpg

akolkov 2022-06-24 10:14:45
angular_ru-568003.jpg
так тоже не хочет…
akolkov 2022-06-24 10:16:00
angular_ru-568004.jpg
Причем IDE как ы все правильно понимает…
emgreed 2022-06-24 10:16:23
angular_ru-568005.jpg

emgreed 2022-06-24 10:16:51
Мы реализовали у себя на проекте это таким вот образом.
У неё ещё и типизация есть? Можете ссылку на пакет дать?
akolkov 2022-06-24 10:18:26
emgreed 2022-06-24 10:16:51
Мы реализовали у себя на проекте это таким вот образом.
У неё ещё и типизация есть? Можете ссылку на пакет дать?

не, мне нужно будет сильно кастомизировать потом. хотя может по ссылке на пакет можно посмотреть, как они подключают.

akolkov 2022-06-24 10:19:06
emgreed 2022-06-24 10:16:51
Мы реализовали у себя на проекте это таким вот образом.
У неё ещё и типизация есть? Можете ссылку на пакет дать?

хотя с declare может и прокатит, не пробовал еще.

akolkov 2022-06-24 10:20:54
angular_ru-568009.jpg

akolkov 2022-06-24 10:24:35
angular_ru-568010.jpg
где про все это доходчиво прочитать можно, читал на офсайте, но там хрен что понятно в сложных случаях.
hawkridge 2022-06-24 10:28:11
Добрый день, подскажите пож, через HostBinding можно привязываться только к нативным браузерным атрибутам или к полям компонентов тоже?

У меня условно есть компонент с инпутом foo, на нем висит директива внутри которой я пытаюсь через HostBinding получить доступ к foo, но в итоге значение всегда undefined.

Я так понял что нельзя так делать?

AlexR93 2022-06-24 10:32:17
constructor(
private readonly _element: ElementRef,
) {}
sergei_dev 2022-06-24 10:32:21
hawkridge 2022-06-24 10:28:11
Добрый день, подскажите пож, через HostBinding можно привязываться только к нативным браузерным атрибутам или к полям компонентов тоже?

У меня условно есть компонент с инпутом foo, на нем висит директива внутри которой я пытаюсь через HostBinding получить доступ к foo, но в итоге значение всегда undefined.

Я так понял что нельзя так делать?

Вы можете использовать использовать сеттер для такого инпута

andrey_123124 2022-06-24 10:32:30
Добрый день!
хочу реализовать динамические формы.
Описание:
Цепляемся к любому тегу div
На вход передается такой массив
[
{type: «text», value: «», placeholder: «username»},
{type: «password», value: «», placeholder: «password»},
]

далее должна создаться данная форма с такими input.
Подскажите с помощью каких инструментов реализовать?

AlexR93 2022-06-24 10:33:24
hawkridge 2022-06-24 10:28:11
Добрый день, подскажите пож, через HostBinding можно привязываться только к нативным браузерным атрибутам или к полям компонентов тоже?

У меня условно есть компонент с инпутом foo, на нем висит директива внутри которой я пытаюсь через HostBinding получить доступ к foo, но в итоге значение всегда undefined.

Я так понял что нельзя так делать?

ты можешь достать сам компонент через ElementRef, выше пример скинул

sergei_dev 2022-06-24 10:33:40
andrey_123124 2022-06-24 10:32:30
Добрый день!
хочу реализовать динамические формы.
Описание:
Цепляемся к любому тегу div
На вход передается такой массив
[
{type: «text», value: «», placeholder: «username»},
{type: «password», value: «», placeholder: «password»},
]

далее должна создаться данная форма с такими input.
Подскажите с помощью каких инструментов реализовать?

Если формы ожидаются с заморочанной логикой можно посмотреть в сторону formly

hawkridge 2022-06-24 10:34:28
AlexR93 2022-06-24 10:33:24
ты можешь достать сам компонент через ElementRef, выше пример скинул

Да я так и сделал, спасибо ) Просто хотел по хост биндингу разобраться

akolkov 2022-06-24 10:35:08
http://typescript-lang.ru/docs/Modules.html#`export =` и `import = require
hawkridge 2022-06-24 10:35:10
sergei_dev 2022-06-24 10:32:21
Вы можете использовать использовать сеттер для такого инпута

Сетер имеется в виду внутри директивы в сочетании с хост биндинг?

sergei_dev 2022-06-24 10:35:31
sergei_dev 2022-06-24 10:33:40
Если формы ожидаются с заморочанной логикой можно посмотреть в сторону formly

Но это не является заменой обычным реактивным формам, скорее дополнение когда очень надо динамические

AlexR93 2022-06-24 10:36:49
hawkridge 2022-06-24 10:34:28
Да я так и сделал, спасибо ) Просто хотел по хост биндингу разобраться

Так не использовал, не скажу)

sergei_dev 2022-06-24 10:36:54
hawkridge 2022-06-24 10:35:10
Сетер имеется в виду внутри директивы в сочетании с хост биндинг?

Ну, думал про компонент в котором Input. Если нкжно получить доступ к инпуту компонента из дерективы, я бы достал компонент из инжектора (в конструкторе как любой сервис) и смотрел бы его свойства

hawkridge 2022-06-24 10:38:07
sergei_dev 2022-06-24 10:36:54
Ну, думал про компонент в котором Input. Если нкжно получить доступ к инпуту компонента из дерективы, я бы достал компонент из инжектора (в конструкторе как любой сервис) и смотрел бы его свойства

да я так и сделал, лан спасибо, поковыряю еще хост биндинг таки )

akolkov 2022-06-24 10:40:00
im_anime 2022-06-24 10:05:13
а покажите как импортируете модуль

angular_ru-568024.jpg
Последняя попытка не удалась, походу ребятам пора тайпинги переписать свои…

im_anime 2022-06-24 10:58:49
а зачем import * as если там дефолтный экспорт
2022-06-24 11:02:04
можно как то сделать матдиалог чтоб можно било скролить и закрить если делаеш клик за границами
.cdk-global-overlay-wrapper {
overflow: auto;
pointer-events: auto; // needed for chrome but prevents backdrop click close
}
что то по типу етово но проблема в том что нельзя закрить
akolkov 2022-06-24 11:18:25
im_anime 2022-06-24 10:58:49
а зачем import * as если там дефолтный экспорт

Пробую всякими способами. Толку пока ноль.

akolkov 2022-06-24 11:20:41
im_anime 2022-06-24 10:58:49
а зачем import * as если там дефолтный экспорт

Полщк всего попробовать самому на новом проекте, импортировать Яндекс карты и @types/yandex-maps.

akolkov 2022-06-24 11:37:18
https://habr.com/ru/company/macloud/blog/563722/ здесь, кстати, более менее понятное объяснение модулей и работы с ними в отличие от оффдоков.

Карманная книга по TypeScript. Часть 8. МодулиХабр
Мы продолжаем серию публикаций адаптированного и дополненного перевода «Карманной книги по TypeScript «. Другие части: Часть 1. Основы Часть 2. Типы на каждый день Часть 3. Сужение типов…
akolkov 2022-06-24 11:54:10
angular_ru-568030.jpg
Как можно в DefinitelyTaped использовать официальную поддержку вместо неймспейсов?
andrey_123124 2022-06-24 12:04:09
sergei_dev 2022-06-24 10:33:40
Если формы ожидаются с заморочанной логикой можно посмотреть в сторону formly

спасибо

akolkov 2022-06-24 12:22:36
im_anime 2022-06-24 10:58:49
а зачем import * as если там дефолтный экспорт

angular_ru-568032.jpg
Все, нашел способ, как это можно красиво сделать. Не уверен ,что правильно… 😜
https://davidea.st/articles/typescript-2-9-import-types/
Теперь и верхнюю строчку можно удалить.

Artem Kirichuk 2022-06-24 13:24:06
angular_ru-568036.jpg
Всем, привет. Вопрос по тестированию.
Есть функция проверяющая зарегистрирован пользователь или нет и я пытаюсь её протестировать.
Artem Kirichuk 2022-06-24 13:24:18
angular_ru-568037.jpg
Тест для неё написал вот такой. Но не уверен, что это правильно.
Может есть варианты как сделать это лучше ?
Bretbas 2022-06-24 13:29:15
angular_ru-568038.jpg
Привет, народ
Слушайте, хочу повторить такую же логику с ошибками, как на скрине, только в своем CVA

но почему то он меня заставляет условие писать в *ngIf немного другое, чем то, которое также на скринах указано

Bretbas 2022-06-24 13:30:04
angular_ru-568039.jpg
Вот как у меня сейччас со своим CVA
И проблема в том, что поле ошибка СРАЗУ появляется, даже если ниразу поле не трогали
Bretbas 2022-06-24 13:31:23
вот с таким условием работает:
(createCombinationForm.dirty || createCombinationForm.touched) && createCombinationForm.get(‘categories’).hasError(‘required’)
Bretbas 2022-06-24 13:32:24
переносить ошибки в сам CVA не хочу, так как CVA более обобщенный, и неизвестно какие ошибки будут, поэтому ошибки вынесены на этап «использования» моего CVA
Bretbas 2022-06-24 13:32:45
тоесть я хочу добиться того же, что и с material примером(первый скрин)
почему там то работает так, а у меня нет
DavlatovF 2022-06-24 14:15:34
angular_ru-568046.jpg
Здравствуйте. Новенький, в основном пишу на .NET, нужна помощь. Дайте наводку — что с этим можно сделать? Проект с гита, прописывал только npm i. Angular версии 8.1.3, Node js 16.15.0
iamvasiliev143 2022-06-24 14:17:04
DavlatovF 2022-06-24 14:15:34
Здравствуйте. Новенький, в основном пишу на .NET, нужна помощь. Дайте наводку — что с этим можно сделать? Проект с гита, прописывал только npm i. Angular версии 8.1.3, Node js 16.15.0

Откатите ноду до 14

ichursin 2022-06-24 14:19:12
DavlatovF 2022-06-24 14:15:34
Здравствуйте. Новенький, в основном пишу на .NET, нужна помощь. Дайте наводку — что с этим можно сделать? Проект с гита, прописывал только npm i. Angular версии 8.1.3, Node js 16.15.0

самое время проапгрейдить ангуляр до 14 (или до 12 если нужен ie11) 😀

udalov_e 2022-06-24 14:19:38
ichursin 2022-06-24 14:19:12
самое время проапгрейдить ангуляр до 14 (или до 12 если нужен ie11) 😀

рано 14й

ichursin 2022-06-24 14:19:50
udalov_e 2022-06-24 14:19:38
рано 14й

эт почему же?

udalov_e 2022-06-24 14:20:22
только вышел. нафига ща с багами плясать сходу
light4everyone 2022-06-24 14:21:44
Bretbas 2022-06-24 13:32:45
тоесть я хочу добиться того же, что и с material примером(первый скрин)
почему там то работает так, а у меня нет

за отображение mat-error отвечает mat-form-field, а в нём состоянии ошибки высчитывается благодаря ErrorStateMatcher

т.е если хотите также то директива/компонент который принимает ErrorStateMatcher дефолтный/кастомный, в который вы будете сувать контрол/formgroup/не помню что еще можно и вот тогда заработает также

Bretbas 2022-06-24 14:22:54
light4everyone 2022-06-24 14:21:44
за отображение mat-error отвечает mat-form-field, а в нём состоянии ошибки высчитывается благодаря ErrorStateMatcher

т.е если хотите также то директива/компонент который принимает ErrorStateMatcher дефолтный/кастомный, в который вы будете сувать контрол/formgroup/не помню что еще можно и вот тогда заработает также

не работает
я пытался stateMatcher запихнуть внутри моего CVA
тож самое происходит

|