有没有一种方法可以在Angular2组件内使用NG-Content中的CSS



我试图通过 ng-content 包括组件中的儿童元素的CSS。它似乎尚未在Angular 2中实现,或者也许有人有解决方案,除了将CSS放入一般样式表中?

app.component.ts

<comp-parent>
  <comp-child></comp-child>
</comp-parent>

compParent.component.html

<div class="wrapper">
  <ng-content></ng-content>
</div>

compParent.component.css

.wrapper > comp-child {
   margin-right: 5px; <-- Not applied !!!
}

您可以使用/deep/(已弃用)或>>>::ng-deep选择器:

https://angular.io/guide/component-styles#deprecated-deep-and-ng-deep

例如:

.wrapper ::ng-deep comp-child { ... }

请注意,>>>似乎对基于Angular-CLI的项目不起作用。

将类应用于将要渲染的HTML。

 app.component.ts
  <comp-parent>
    <comp-child></comp-child>
  </comp-parent> 
@Component({
    selector: 'comp-parent',
    template: `
        <div class="wrapper">
            <ng-content></ng-content>
        </div>
        `          
})
export class CompParent { }   
@Component({
selector: 'comp-child',
template: `
    <div class="comp-child">
        <div>
        </div>
    </div> `,
})
export class CompChild {}

/// In styles.css
.wrapper .comp-child {
    margin-left: 50px;
}

这在我的项目中对我有用。

相关内容

  • 没有找到相关文章

最新更新