首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在角方向上使用CSS悬停特性?

在角方向上使用CSS悬停特性?
EN

Stack Overflow用户
提问于 2019-05-02 10:57:18
回答 2查看 3.8K关注 0票数 2

这是指令,默认的指令。

代码语言:javascript
运行
复制
import { Directive, Input, Renderer2, ElementRef } from '@angular/core';

@Directive({
  selector: '[newBox]'
})
export class BoxDirective {

  @Input() backgroundColor = '#fff';
  constructor(private el: ElementRef, private renderer: Renderer2) {}

  ngOnInit(): void {
    this.renderer.setStyle(this.el.nativeElement, 'background-color', this.backgroundColor);
  }

}

现在,在悬停时,我要改变背景颜色。我如何在指令中做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-02 11:01:09

使用HostListener侦听事件

代码语言:javascript
运行
复制
  @HostListener('mouseover')
  onMouseOver() {
    this.backgroundColor = '#fff';
  }

  @HostListener('mouseout')
  onMouseOut() {
    this.backgroundColor =  '#000';
  }
票数 7
EN

Stack Overflow用户

发布于 2022-04-21 15:08:03

代码语言:javascript
运行
复制
import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';

@Directive({
  selector: '[appHover]'
})
export class HoverDirective implements OnInit {
  @HostListener('mouseenter') onMouseEnter(){
    this.renderer2.setStyle(this.elRef.nativeElement,'fontSize','100px')
    this.renderer2.setStyle(this.elRef.nativeElement,'color','#fff')
    this.renderer2.setStyle(this.elRef.nativeElement,'backgroundColor','orange')
  }
@Input('appHover') case:string='';
  @HostListener('mouseout') onMouseOut(){
    this.renderer2.setStyle(this.elRef.nativeElement,'fontSize',this.case)
    this.renderer2.setStyle(this.elRef.nativeElement,'color','#fff')
    this.renderer2.setStyle(this.elRef.nativeElement,'backgroundColor','orange')
  }

  constructor(private elRef:ElementRef,private renderer2:Renderer2) { }
  ngOnInit(): void {
  
  }
  
}

goto app.component.html

代码语言:javascript
运行
复制
then use directive.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55950918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档