如何在同级组件的元素中添加CSS类?

时间:2019-10-10 14:17:19

标签: angular typescript

我有两个组成部分 A B A 有一个按钮,单击后,我想向组件 B 的元素(例如c)中添加类<div></div>。我有尝试@Input并使函数静态,请在其他组件中使用它。它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以在组件 A 中以@Output的形式提供事件,并监听该输出。如果触发了该事件,则可以在组件 B 上使用ngClass设置类'c'。

组件A:

@Component({
  selector: 'app-component-a',
  templateUrl: './app-component-a.component.html',
  styleUrls: ['./app-component-a.component.scss']
})
export class ComponentA implements OnInit {
  @Output() onClickEvent: Event;

  ngOnInit() {
  }

  onClick() {
    event.emit();
  }
}

主要组件:

@Component({
  selector: 'app-main-component',
  templateUrl: './app-main-component.component.html',
  styleUrls: ['./app-main-component.component.scss']
})
export class MainComponent implements OnInit {

  whenClicked: boolean = false;

  ngOnInit() {
  }

  onClickTriggered() {
    whenClicked = true;
  }
}

主要组件HTML:

<app-component-a (onClickEvent)="onClickTriggered()"></app-component-a>
<app-component-b [ngClass]="{'c': whenClicked}"