Как использовать структурную директиву? - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно сделать структурную директиву, которая будет отображать элемент в зависимости от ширины экрана.

https://stackblitz.com/edit/vim8-2-resize-template-pmp1b5?file=app/shared/if-viewport-size.directive.ts

Мой пример работает, но он пропускает при среднем размере.Как это исправить?

1 Ответ

1 голос
/ 27 сентября 2019

Проблема в том, что вы перезаписываете значение window.onresize.

Я предлагаю использовать Subject со значением onresize, а затем подписаться на тему в различных экземплярах директивы.

public windowResize$ = new BehaviorSubject<number>(window.innerWidth);
window.onresize = event => {
     this.windowResize$.next(window.innerWidth);
};

Ходовая вилка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...