Вы назначили тип переменной isDesktopWidth
, но не инициализировали ее. Попробуйте
isDesktopWidth = new BehaviorSubject<boolean>(false);
BehaviorSubject
необходимо инициализировать значением. Если вы хотите sh создать без инициализатора, используйте Subject
. В этом случае вы можете использовать
isDesktopWidth = new Subject<boolean>();
Другое различие между ними заключается в том, что BehaviorSubject
содержит значение. Таким образом, он вернет текущее значение, которое он содержит, как только вы подпишитесь на него. Subject
не содержит текущего значения. Когда вы подписываетесь на него, вы не получите значение, пока оно не выдаст следующее.
Использование свойства .value
для невыполненного Subject
вернет undefined
.