Angular 如何将CSS类添加到同级组件';s元素?
我有两个组件A和BA有一个按钮,单击时,我想向组件B的元素添加一个类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:
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。