Angular 2向父组件添加一个字符串(css-class)

标签 angular angular2-directives

如何向父组件添加一个字符串(css-class)? 不同的页面应该能够向容器元素添加类。

app.component.ts:

@Component({
  selector: 'app-root',
  template: `
        <div class="container {{ ADD HERE }}">
             <router-outlet></router-outlet>
        </div>
  `
})
export class AppComponent {
  title = 'app works!';
}

page1.component.ts:

@Component({
  template: `
      <p>I'm page 1!</p>
  `
})
export class Page1Component {
      containerClasses = "page-1";
}

最佳答案

@Component({
  template: `
      <p>I'm page 1!</p>
  `
})
export class APageComponent {
  constructor(private elRef:ElementRef) {
  }

  containerClasses = "page-1";

  ngAfterViewInit() {
    this.elRef.nativeElement.parentElement.classList.add(this.containerClasses);
  }
}

关于Angular 2向父组件添加一个字符串(css-class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41452025/

相关文章:

Angular 2 : How do I access a custom Component's FormControl instance within that Component?

javascript - Angular Pipe - groupBy 字符串的子字符串(自定义管道)

html - 如何将单列数据平均分布到两列数据中?

angular - 获取点击的div的宽度、高度和偏移量——Angular 2

angular - ngx-datatable 的通用 'wrapper' 组件

javascript - 当第二个请求依赖于第一个请求时,如何在 Angular 中同步 http.get 请求?

angular - 组件可注入(inject)?

特定组件中的 Angular 2 声明

angular - 使用结构指令将组件添加到 TemplateRef