Я хочу применить CSS к моим дочерним компонентам, которые вызываются из родительского компонента с помощью хитрости, которая работает нормально
Инкапсуляция: ViewEncapsulation.None
Но когдаi Переходя к другим маршрутам или страницам, он выбирает стиль компонента, инкапсуляция которого не является странным поведением
, т.е. когда я нажимаю на маршрут http://localhost:4200/example
, а компонент примера имеет
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css'],
encapsulation: ViewEncapsulation.None
})
на этом маршруте есть два других компонента
example.component.html
<app-example1></app-example1>
<app-example2></app-example2>
css применяется к соответствующим детям
но когда я нажимаю на example2, он также выбирает css для example1
@Component({
selector: 'app-example2',
templateUrl: './example2.component.html',
styleUrls: ['./example2.component.css'],
})
, когда я удаляю свойство encapsulation, он не выбирает для example2 route
или когда я получаю прямой доступ к маршруту http://localhost:4200/example2
работает нормально и css берет только example2 css, но когда я перехожу к example1 и перемещаюсь к example2
, он выбирает стиль компонента примера 1 из-за
encapsulation: ViewEncapsulation.None
когда я удаляю это свойство или напрямую обращаюсь к маршруту, он работает нормально, в чем проблема, я не знаю, почему он ведет себя так:
и example1 и example2 - два разных модуля и имеют свои собственные маршруты