Angular: как отобразить графический компонент с перехватчиком? - PullRequest
0 голосов
/ 06 ноября 2018

Я занимаюсь разработкой веб-приложения с использованием Angular 6. Я создал службу перехвата (используя интерфейс HttpInterceptor), которая перехватывает некоторые типы HTTP-вызовов. Класс работает отлично (я могу перехватить все HTTP-вызовы, которые я хочу). В этом приложении есть несколько графических компонентов. Как можно показать графический компонент (например, спиннер или модальное окно), используя код, написанный на перехватчике?

Пример:

@Injectable()
export class MyHttpInterceptor implements HttpInterceptor {

    intercept(req: HttpRequest<any>, next: HttpHandler ) {

        let updateReq;

        updateReq = req.clone({
            setParams: {
                responseType: 'no-type'
            }
        }
        );

        console.log(updateReq);

        return next.handle(updateReq).pipe(tap(
            event => console.log(event),
            err => console.log(err)
        ));
    }

}

Например, я хотел бы проверить, если req имеет некоторые свойства, тогда я заставляю графический компонент появляться. Как мне сделать это на протяжении всего моего приложения? Спасибо за помощь.

1 Ответ

0 голосов
/ 06 ноября 2018
  1. создать компонент счетчика с флагом, который показывает / скрывает счетчик
  2. создать новый сервис "spinnerservice", который переключает флаг и генерировать событие, если спиннер включен.
  3. впрыскивает вам сервис в ваш компонент счетчика и ваш перехватчик
  4. позвоните в "spinnerservice" от перехватчика
  5. прослушайте событие от вашего сервиса в вашем компоненте счетчика и отрегулируйте его состояние.
...