将类应用于Angular中的每个路由组件

Sun*_*arg 3 typescript angular2-routing angular-components angular

有没有办法将类应用于Angular中的每个路由组件.一种方法是使用host每个组件的属性

@Component({
    moduleId: module.id,
    selector: 'one',
    host :{class :'my-class'}
    templateUrl: 'one.html',
})
Run Code Online (Sandbox Code Playgroud)

但我不想为每个组件写这个.

Lud*_*vik 8

你真的需要添加类或只是设置所有路由组件的样式吗?您可以添加它以设置所有路由组件的样式:

router-outlet + * {
    //your styles
}
Run Code Online (Sandbox Code Playgroud)

说明:

Angular在<router-outlet>标记旁边插入组件,因此呈现的html看起来像:

<router-outlet></router-outlet>
<some-component></some-component>
Run Code Online (Sandbox Code Playgroud)

router-outlet + * 是任何下一个兄弟的css选择器 <router-outlet>

  • 对于角度6,我需要添加`router-outlet + :: ng-deep * {`,否则,它将要求*具有相同的_ngcontent,但添加的元素不是。它是自己的_nghost。 (2认同)