Я использую стили из bootswatch (файл CSS для замены файла CSS для начальной загрузки), и я хочу использовать другой для каждого маршрута на мое приложение (например, панель управления) означает, что мне нужен другой файл CSS, который будет применяться глобально при активации определенного маршрута. Я попытался удалить ссылку CSS из index.html
и поместить ее в StyleUrls
основного компонента, подобного этому (фиктивный пример одной из ветвей моего веб-сайта):Angular2 - Изменение глобального стиля index.html или применение styleurl к маршруту
import { Component } from '@angular/core'
import { ROUTER_DIRECTIVES, Router } from '@angular/router'
@Component({
moduleId: module.id,
styleUrls: ['../../../assets/css/bootstrap-simplex.css'],
template: '<navbar></navbar><router-outlet></router-outlet>' ,
directives: [ROUTER_DIRECTIVES]
})
export class AdministrationComponent {
constructor(public router: Router){}
}
Теперь это изменить стиль элементов этого компонента, но не к Чайлдс или компонентов внутри его router-outlet
Итак, есть ли способ сделать стильUrls унаследованным дочерним компонентам? или я могу изменить ссылку CSS index.html
программно?
спасибо.
Вы можете программно изменить ссылку на CSS, но это не специфичный для Angular2 (простой JS). –
ну, я не хочу этого, потому что функциональность изменения будет внутри угловой, я не хочу, чтобы это было обходным решением , но вы имеете в виду сделать его нормальной переменной, а затем изменить его с маршрутизатора вправо? –
Вы можете подписаться на изменения маршрута, а затем называть код, который изменяет ссылку. –