Size: a a a

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

2020 March 24

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Andrey Panasenko
к счастью эти модули не имеют компонентов, так что это не критично
компоненты здесь ни при чём

в лучшем случае код ниже выкинет ошибку при компиляции
в худшем - isEnabled будет равен undefined и это сложно ловится

@Module({
 imports: [
   MyModule.forRoot({
     isEnabled: runtimeConfig.isEnabled,
   }),
 ],
})...
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
Главный прикол еще в том, что когда я сделал загрузку чисто через fetch. Т.е мой factory не тянет за собой никаких зависимостей, то все работает. Даже если я воткну после fetch then с setTimeout(..., 5000), он действительно подождет 5 секунд и все работает. Но если я использую какой-нибудь сервис, для того, чтобы загрузить конфиг, т.е у провайдера есть deps: [SomeService], то некоторые forRoot загружаются быстрее, чем срабатывает factory
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
типо такого factory
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
aot еще не пробовал, надо проверить
источник

v4

vysheradugi 4 in Angular - русскоговорящее сообщество
Andrey Panasenko
Хм, а есть пример? На сколько я знаю, через него можно только компоненты инициализировать явно, реализуя интерфейс DoBootstrap в AppModule
Примера нет. Когда то нечто подобное делал, нужно было подкинуть конфигурацию, но до загрузки именно компонента. Возможно можно отследить и импорты модулей в этом хуке. Если нет, то может быть посмотреть еще раньше? Где то в это место? platformBrowserDynamic().bootstrapModule(AppModule);
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
Есть подозрение, что все таки, если APP_INITIALIZER имеет зависимости, то такой подход не сработает
источник

v4

vysheradugi 4 in Angular - русскоговорящее сообщество
Andrey Panasenko
Главный прикол еще в том, что когда я сделал загрузку чисто через fetch. Т.е мой factory не тянет за собой никаких зависимостей, то все работает. Даже если я воткну после fetch then с setTimeout(..., 5000), он действительно подождет 5 секунд и все работает. Но если я использую какой-нибудь сервис, для того, чтобы загрузить конфиг, т.е у провайдера есть deps: [SomeService], то некоторые forRoot загружаются быстрее, чем срабатывает factory
Ну и еще один вариант подкину, может натолкнёт на идею. Может быть вынести модули, которые нужно подгрузить после загрузки конфигурации в отдельный модуль, и тогда уже можно делать через ngDoBootstrap
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
vysheradugi 4
Ну и еще один вариант подкину, может натолкнёт на идею. Может быть вынести модули, которые нужно подгрузить после загрузки конфигурации в отдельный модуль, и тогда уже можно делать через ngDoBootstrap
можно в теории, у меня тоже была такая мысль. Но проект огромный и в нем к сожалению изначально использовался импорт модулей "как попало", на это может уйти несколько дней и я попробую это в крайнем случае
источник

v4

vysheradugi 4 in Angular - русскоговорящее сообщество
Andrey Panasenko
можно в теории, у меня тоже была такая мысль. Но проект огромный и в нем к сожалению изначально использовался импорт модулей "как попало", на это может уйти несколько дней и я попробую это в крайнем случае
+
источник

С

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

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Светлана
Если при навигации в хедере на странице меняется наполнение компонентов, но сами компоненты остаются, как лучше сделать заглушку на время загрузки нового контента?
спиннер
источник

С

Светлана in Angular - русскоговорящее сообщество
Полностью скрыть кусок или точечно?
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
2k19 sqaud 😎
SPIN IT
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
Светлана
Если при навигации в хедере на странице меняется наполнение компонентов, но сами компоненты остаются, как лучше сделать заглушку на время загрузки нового контента?
спиннер, скелетон
источник

BR

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

BR

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

С

Светлана in Angular - русскоговорящее сообщество
Beck Rakhimov
спиннер, скелетон
Имелось ввиду, весь кусок скрывать или только те части, где меняется контент
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Светлана
Имелось ввиду, весь кусок скрывать или только те части, где меняется контент
по-моему, если скрывать все, будет ощущаться медленнее
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
имхо частично
источник

BR

Beck Rakhimov in Angular - русскоговорящее сообщество
Yuri Katkov
по-моему, если скрывать все, будет ощущаться медленнее
+
источник