Size: a a a

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

2021 March 18

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
чем константа плоха по вашему?)
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Артур
Можно ли вместо InjectionToken использовать простую строку или переменную и почему нет? А если да, то почему это плохая практика?
Просто строки использовать не стоит.

Для быстрого резолвинга зависимостей, Angular использует под капотом использует bloom filters. Поэтому каждый InjectionToken и или @Injectable класс имеет свое инкрементальное значение, которые используется для этого фильтра.

☝️ это вкратце подкапотно ответ на вопрос "почему так?"

вот тут подробнее как работает bloom filters https://t.me/angular_fox/46
источник

А

Артур in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Просто строки использовать не стоит.

Для быстрого резолвинга зависимостей, Angular использует под капотом использует bloom filters. Поэтому каждый InjectionToken и или @Injectable класс имеет свое инкрементальное значение, которые используется для этого фильтра.

☝️ это вкратце подкапотно ответ на вопрос "почему так?"

вот тут подробнее как работает bloom filters https://t.me/angular_fox/46
Благодарю)
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Кто как размещает Angular приложения в сторонних веб-страницах и конфигурирует их?
источник
2021 March 19

DP

Dmitri Ponomarjov in Angular - русскоговорящее сообщество
Через Angular elements вполне неплохо получается.
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
Через Angular elements вполне неплохо получается.
через атрибуты передаешь параметры?
источник

DP

Dmitri Ponomarjov in Angular - русскоговорящее сообщество
Так и есть, очень удобно. Мне это еще нужно для плавной миграции со старого кода на ангулар, поэтому отлично срабатывает. Компоненты все пишутся в одном едином  проекте, но встраиваются как отдельные элементы, чтобы потом можно было их всё же затянуть в одно приложение.
источник

DP

Dmitri Ponomarjov in Angular - русскоговорящее сообщество
Единственно, хапнул в элементах пару проблем с подгрузкой тех же svg-иконок или локализацией, но это решаемые мелочи.
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
Так и есть, очень удобно. Мне это еще нужно для плавной миграции со старого кода на ангулар, поэтому отлично срабатывает. Компоненты все пишутся в одном едином  проекте, но встраиваются как отдельные элементы, чтобы потом можно было их всё же затянуть в одно приложение.
я тоже это использую. Правда когда два раза размещаю элемент на странице - то почему-то не вызывается два раза APP_INITIALIZE.

Я вообще передаю параметры через глобаный объект так: window.appConfig  = [{appid: 1}, {appid: 2}];

Потом:

<app-map></app-map>
<app-map></app-map>

И уже в APP_INITIALIZER я получаю window.appConfig - но не знаю как сказать к какому компоненту применить конфиг
источник

B

Bretbas in Angular - русскоговорящее сообщество
Народ, как отключить такое предупреждение, чтобы глаза не мозолила:
TS2564: Property 'entities' has no initializer and is not definitely assigned in the constructor

в tsconfig.json сделал:
"strictPropertyInitialization": false

но это только дало результат то, что я могу билдить с такой ошибкой, но ошибка по прежнему подсвечивается на неинициализированных свойствах
источник

DP

Dmitri Ponomarjov in Angular - русскоговорящее сообщество
Oleg P
я тоже это использую. Правда когда два раза размещаю элемент на странице - то почему-то не вызывается два раза APP_INITIALIZE.

Я вообще передаю параметры через глобаный объект так: window.appConfig  = [{appid: 1}, {appid: 2}];

Потом:

<app-map></app-map>
<app-map></app-map>

И уже в APP_INITIALIZER я получаю window.appConfig - но не знаю как сказать к какому компоненту применить конфиг
Если параметров много, то можно сервис завести, который будет их читать с appConfig, а потом раздавать подписчикам. Так в будущем можно будет отказаться от window.appConfig, не переделывая компоненты
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
Если параметров много, то можно сервис завести, который будет их читать с appConfig, а потом раздавать подписчикам. Так в будущем можно будет отказаться от window.appConfig, не переделывая компоненты
а откуда сервис будет считывать параметры и как потом понять какой объект конфига какому компоненту принадлежит?
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
Если параметров много, то можно сервис завести, который будет их читать с appConfig, а потом раздавать подписчикам. Так в будущем можно будет отказаться от window.appConfig, не переделывая компоненты
т-е я хочу чтобы компонент <app-map> сконфигурировался с одним конфигом - второй <app-map> с другим. И так далее
источник

DP

Dmitri Ponomarjov in Angular - русскоговорящее сообщество
тогда этим компонентам лучше дать явные id, и по ним мапить уже конфиги
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
тогда этим компонентам лучше дать явные id, и по ним мапить уже конфиги
согласен - но проблема в том что на этапе APP_INITIALIZER я еще не имею доступа к компонентам. А и менно на этом шаге у меня создается сторонний HTMLElement - контейнер который потом вставляется в нужный компонент
источник

OP

Oleg P in Angular - русскоговорящее сообщество
т-е если дать компонентам уникальный id:  <app-map id="map_1"></app-map>  <app-map id="map_2"></app-map> и затем продублировать это в window.config = [{appid: "map_1"}, {appid: "map_2"}] то вытянуть соответсвия в APP_INITIALIZER не могу. На этом этапе еще никакие компоненты не готовы
источник

B

Bretbas in Angular - русскоговорящее сообщество
Народ, как отключить такое предупреждение, чтобы глаза не мозолила:
TS2564: Property 'entities' has no initializer and is not definitely assigned in the constructor

в tsconfig.json сделал:
"strictPropertyInitialization": false

но это только дало результат то, что я могу билдить с такой ошибкой, но ошибка по прежнему подсвечивается на неинициализированных свойствах
источник

AT

Alexey Tuychiev in Angular - русскоговорящее сообщество
Bretbas
Народ, как отключить такое предупреждение, чтобы глаза не мозолила:
TS2564: Property 'entities' has no initializer and is not definitely assigned in the constructor

в tsconfig.json сделал:
"strictPropertyInitialization": false

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

OP

Oleg P in Angular - русскоговорящее сообщество
Dmitri Ponomarjov
тогда этим компонентам лучше дать явные id, и по ним мапить уже конфиги
у тебя нет примера как заюзать iframe?
источник

B

Bretbas in Angular - русскоговорящее сообщество
Alexey Tuychiev
Ну лучше инициализировать все таки свойство
блин, я до 11 Angular писал без инициализации своих свойств, помеченных @Input() декоратором, и было все огонек.
сейчас меня заставляют это делать, нахрена?

я отключил это спомощью
"strictPropertyInitialization": false

но это спасло только для билда. но ide все равно показывает, что мол ошибка
источник