要在父组件的:hover上应用样式,可以使用Angular中的:host和SCSS中的&选择器结合使用。
首先,在父组件的SCSS文件中,使用:host选择器来选择父组件本身,然后在:hover上应用样式。像这样:
:host {
// 父组件的样式
}
:host:hover {
// 父组件在:hover时的样式
}
接下来,在父组件的HTML模板中,确保添加了:hover属性,以触发:hover事件。像这样:
接下来,还需要在父组件的TypeScript文件中实现onHover()和onHoverEnd()方法,以在鼠标悬停和离开时触发样式的应用和取消。像这样:
export class ParentComponent {
isHovered: boolean = false;
onHover() {
this.isHovered = true;
}
onHoverEnd() {
this.isHovered = false;
}
}
最后,将父组件的样式和:hover时的样式应用到父组件的SCSS文件中,并根据isHovered状态来切换样式。像这样:
:host {
// 父组件的样式
}
:host:hover,
.parent.is-hovered {
// 父组件在:hover时或被悬停时的样式
}
这样,当鼠标悬停在父组件上时,将应用:hover时的样式,当鼠标离开父组件时,取消样式。
希望这个示例可以帮助你解决问题!