Size: a a a

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

2020 May 18

OL

Oleksandr Lukhanin in Angular - русскоговорящее сообщество
Sergey Vakhramov
Так ты включи при открытой консоли запрет на кэш
не подскажите где в консоли это включается?
источник

G

Galeups in Angular - русскоговорящее сообщество
Alexander Trunov
В случае AppComponent такое может быть, потому что компонент загружается еще до того, как какой-либо роутинг был осуществлен. Поэтому snapshot еще пустой.
так так так, спасибо, я про это и не подумал, проверю
источник

MS

Mikhail Shumilov in Angular - русскоговорящее сообщество
Привет, есть простой способ прикрутить метрику к сайту на ангуляре?
источник

G

Galeups in Angular - русскоговорящее сообщество
Alexander Trunov
В случае AppComponent такое может быть, потому что компонент загружается еще до того, как какой-либо роутинг был осуществлен. Поэтому snapshot еще пустой.
блин, так и есть. Это компонент шапки, кторый импортится в в appComponent еще до router-outlet. По ходу, это что ты сказал, спасибо
источник

AT

Alexander Trunov in Angular - русскоговорящее сообщество
Galeups
блин, так и есть. Это компонент шапки, кторый импортится в в appComponent еще до router-outlet. По ходу, это что ты сказал, спасибо
Ну да, тогда там нужно на Observable activatedRoute.queryParams подписаться и отслеживать параметры уже там.
источник

G

Galeups in Angular - русскоговорящее сообщество
Alexander Trunov
Ну да, тогда там нужно на Observable activatedRoute.queryParams подписаться и отслеживать параметры уже там.
блин, с подписками ад получается, так не хотел на роуты еще подписываться
источник

AT

Alexander Trunov in Angular - русскоговорящее сообщество
Galeups
блин, с подписками ад получается, так не хотел на роуты еще подписываться
А в чем именно ад? Какую задачу нужно решить?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Galeups
блин, с подписками ад получается, так не хотел на роуты еще подписываться
Лучше подписаться, потому что роут может поменяться и тогда компонент должен правильно на это отреагировать.

И, чтобы проще управлять подписками, можно использовать AsyncPipe, если это возможно
источник

G

Galeups in Angular - русскоговорящее сообщество
Alexander Trunov
А в чем именно ад? Какую задачу нужно решить?
получается очень много условий.
К примеру если пришел параметр, надо его отправить, и после отправки получить данные
источник

G

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

G

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

G

Galeups in Angular - русскоговорящее сообщество
сложно объяснить
источник

ТЖ

Тихон Жарких... in Angular - русскоговорящее сообщество
Всем привет! Как заставить поток подождать, пока данные придут (например юзер кликнет по селекту и выберет какой-нибудь вариант, что, вероятно, тоже будет потоком)?
источник

IO

Ivan Okhrimenko in Angular - русскоговорящее сообщество
Тихон Жарких
Всем привет! Как заставить поток подождать, пока данные придут (например юзер кликнет по селекту и выберет какой-нибудь вариант, что, вероятно, тоже будет потоком)?
Subject
источник

ТЖ

Тихон Жарких... in Angular - русскоговорящее сообщество
Ivan Okhrimenko
Subject
операторов под это дело отдельных нет?
источник

AT

Alexander Trunov in Angular - русскоговорящее сообщество
Galeups
сложно объяснить
Ну вот на вскидку как это можно закодить:

 const responseHasError = (response) => response.error !== 0;

 const queryParam$ = this.activatedRoute.queryParams.pipe(take(1), pluck('paramName'));

 const [hasParam$, noParam$] = partition(queryParam$, Boolean);

 hasParam$
   .pipe(
     mergeMap(param => this.retrieveData(param))
   )
   .subscribe();

 const pingServerWhenNoParam$ = noParam$.pipe(mergeMap(() => this.pingServer()));

 const [noParamAndHasServerError$, noParamAndNoServerError$] = partition(pingServerWhenNoParam$, responseHasError);

 noParamAndNoServerError$
   .pipe(
     // Logic here
   )
   .subscribe();

 noParamAndHasServerError$
   .subscribe(() => this.router.navigate(['/other-page']));
источник

IO

Ivan Okhrimenko in Angular - русскоговорящее сообщество
Тихон Жарких
операторов под это дело отдельных нет?
Не могу сказать, не знаю(
источник

ТЖ

Тихон Жарких... in Angular - русскоговорящее сообщество
Ivan Okhrimenko
Не могу сказать, не знаю(
окей, спасибо)
источник

G

Galeups in Angular - русскоговорящее сообщество
Alexander Trunov
Ну вот на вскидку как это можно закодить:

 const responseHasError = (response) => response.error !== 0;

 const queryParam$ = this.activatedRoute.queryParams.pipe(take(1), pluck('paramName'));

 const [hasParam$, noParam$] = partition(queryParam$, Boolean);

 hasParam$
   .pipe(
     mergeMap(param => this.retrieveData(param))
   )
   .subscribe();

 const pingServerWhenNoParam$ = noParam$.pipe(mergeMap(() => this.pingServer()));

 const [noParamAndHasServerError$, noParamAndNoServerError$] = partition(pingServerWhenNoParam$, responseHasError);

 noParamAndNoServerError$
   .pipe(
     // Logic here
   )
   .subscribe();

 noParamAndHasServerError$
   .subscribe(() => this.router.navigate(['/other-page']));
ого, спасибище, пошел разбираться
источник

AT

Alexander Trunov in Angular - русскоговорящее сообщество
Galeups
ого, спасибище, пошел разбираться
Тут наверняка есть ошибки. Я просто чтобы идею показать.
источник