Size: a a a

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

2020 January 16

S

Smooth Operator in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Ребят, привет. Могу ли я в библиотеку прокинуть свою переменную как-то, полученную до загрузки приложения? Пытаюсь сделать по гайдам, но в консоли АппКомпонента настройки - userId: undefined.

AppModule:

export function initializeApp(appInitService: AppInitService) {
   return () => appInitService.init();
}

@NgModule({
   imports: [
       AppRoutingModule,
       Angulartics2Module.forRoot({
           ga: {
               userId: AppSettings.USER_ID
           }
       })
   ],
   bootstrap: [AppComponent],
   providers: [
       AppInitService,
       {provide: APP_INITIALIZER, useFactory: initializeApp, deps: [AppInitService], multi: true}
   ],
})
export class AppModule {
}

AppInitService:

export class AppInitService {

   constructor() {
   }

   public init() {

       return new Promise<void>((resolve, reject) => {
           console.log('AppInitService.init() called');
           setTimeout(() => {
               console.log('AppInitService Finished');
               AppSettings.USER_ID = 6000;
               resolve();
           }, 6000);
       });

   }
}
или мутировать то что запровайдили
или дедать конфиг обсерваблом
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Alexander Iworb
Тогда проверьте, нет ли там возможности передать конфиг через токен
Смотрю в файлах библиотеки. Есть такое:

export interface Angulartics2Token {
   settings: Partial<Angulartics2Settings>;
}
export declare const ANGULARTICS2_TOKEN: InjectionToken<Angulartics2Token>;


Но я ни разу не делал такое
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Smooth Operator
или мутировать то что запровайдили
или дедать конфиг обсерваблом
Не совсем понимаю как реализовать( Может есть статья?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
у вас похоже нет возможности передать обсервабл
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
тогда просто подобно статье, что я скидывал, попробуйте сделать provide ANGULARTICS2_TOKEN
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Alexander Iworb
тогда просто подобно статье, что я скидывал, попробуйте сделать provide ANGULARTICS2_TOKEN
Сейчас попробую, спасибо
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Не совсем понимаю как реализовать( Может есть статья?
const CONFIG = {};
...
provide: Config, useValue: CONFIG
...
CONFIG.id = ...
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Smooth Operator
const CONFIG = {};
...
provide: Config, useValue: CONFIG
...
CONFIG.id = ...
Это где его получать? Я просто правда, не до конца понимаю как это работает.
Ну я к тому, что вы какой-то общий случай указали? Или..?
источник

A

Andrew in Angular - русскоговорящее сообщество
На IE11 на проде выдает ошибку в консоли SCRIPT1010 expected identifier. Проект вообще не загружется.
Может кто сталкивался с этим.
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Это где его получать? Я просто правда, не до конца понимаю как это работает.
Ну я к тому, что вы какой-то общий случай указали? Или..?
Это общий случай
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
В вашем случае это было бы, например, в AppSettingsService, когда новые настройки устанавливали, вы бы делали приблизительно так:
ANGULARTICS2_TOKEN.settings = {...}
это мутирование конфига, который уже запровайжен.
Но я не уверен, обновит ли он уже готовый модуль, если там идет инициализация по значению, а не по ссылке
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Alexander Iworb
В вашем случае это было бы, например, в AppSettingsService, когда новые настройки устанавливали, вы бы делали приблизительно так:
ANGULARTICS2_TOKEN.settings = {...}
это мутирование конфига, который уже запровайжен.
Но я не уверен, обновит ли он уже готовый модуль, если там идет инициализация по значению, а не по ссылке
Я сейчас пытаюсь в main.ts передать статический провайдер. Так он же называется?
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Я сейчас пытаюсь в main.ts передать статический провайдер. Так он же называется?
Есть проблема, с useValue
источник

VC

Vladimir Chekushkin in Angular - русскоговорящее сообщество
Пытаюсь как так, но не выходит
platformBrowserDynamic([{provide: ANGULARTICS2_TOKEN, useValue: {settings: {ga: 123}}}]).bootstrapModule(AppModule)
 .catch(err => console.error(err));
источник

h

highsierra in Angular - русскоговорящее сообщество
всем привет, я новичек, подскажите пожалуйста, как читать значение которые помещаются в переменную items? вот что в консоли, но когда выгружаю через интерполяцию через ng for, то всё окей
источник

h

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

AI

Alexander Iworb in Angular - русскоговорящее сообщество
Vladimir Chekushkin
Пытаюсь как так, но не выходит
platformBrowserDynamic([{provide: ANGULARTICS2_TOKEN, useValue: {settings: {ga: 123}}}]).bootstrapModule(AppModule)
 .catch(err => console.error(err));
что пишет?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
highsierra
всем привет, я новичек, подскажите пожалуйста, как читать значение которые помещаются в переменную items? вот что в консоли, но когда выгружаю через интерполяцию через ng for, то всё окей
this.items.subscribe(item => console.log(items))


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

h

highsierra in Angular - русскоговорящее сообщество
Oleg Safonov
this.items.subscribe(item => console.log(items))


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

S

Smooth Operator in Angular - русскоговорящее сообщество
Alexander Iworb
В вашем случае это было бы, например, в AppSettingsService, когда новые настройки устанавливали, вы бы делали приблизительно так:
ANGULARTICS2_TOKEN.settings = {...}
это мутирование конфига, который уже запровайжен.
Но я не уверен, обновит ли он уже готовый модуль, если там идет инициализация по значению, а не по ссылке
источник