Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将CSS类添加到同级组件';s元素?_Angular_Typescript - Fatal编程技术网

Angular 如何将CSS类添加到同级组件';s元素?

Angular 如何将CSS类添加到同级组件';s元素?,angular,typescript,Angular,Typescript,我有两个组件A和BA有一个按钮,单击时,我想向组件B的元素添加一个类c(例如)。我尝试了@Input并将函数设为静态,在其他组件中使用。它不工作。您可以在组件A中提供一个事件作为@Output,并侦听该输出。如果触发该事件,您可以使用组件B上的ngClass设置类别“c”。 A部分: @Component({ selector: 'app-component-a', templateUrl: './app-component-a.component.html', styleUrls:

我有两个组件ABA有一个按钮,单击时,我想向组件B的元素添加一个类
c
(例如
)。我尝试了
@Input
并将函数设为静态,在其他组件中使用。它不工作。

您可以在组件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}"


你能发布一些代码来帮助我们理解为什么它不工作吗?我想问题是我最近发现的其他问题。问题是CSS类没有应用于子节点。例如,代码如下所示:var x=document.getelementbyId(“text”).childnodes;变量y=x[0]作为HTMLElement;y、 类列表。添加(“c”);其中“text”是div,childnodes是span。