Получил домашний компонент с background-color:red
, записанным в его scss, а затем получил пользовательский компонент с background-color:green
, записанным в его scss. Я запускаю свое приложение, нахожусь дома, получил красный фон, зашел на страницу пользователя, получил зеленый фон. Работает так, как должно ... но теперь, когда я возвращаюсь, фон моего домашнего компонента все еще зеленый. Все компоненты имеют ViewEncapsulation.None
.
Если я запускаю навигацию со страницы пользователя, происходит то же самое, но цвета фона vica-vera.
Я всегда понимал, что смысл стиля компонента заключается в том, чтобы влиять только на его компонент, а не на другие. Разве это не так, как это должно работать?
Edit: если я установил ViewEncapsulation.Emulated
, я не вижу стилизации из применяемого scss-файла стиля компонента, поэтому обе страницы имеют белый фон.
Вот так выглядит файл моего домашнего компонента:
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
encapsulation: ViewEncapsulation.Emulated,
})
export class HomeComponent implements OnInit {
ngOnInit() {
}
}
Редактировать: Вы видите, что моя проблема заключалась в том, что я устанавливал цвет фона для <body>
, но тело не является частью шаблона, поэтому encapsulation: ViewEncapsulation.Emulated
и таблицы стилей компонентов не влияют на него.