angular学习4-创建属性型指令

import {ElementRef,Input,Directive,@HostListener}
@Directive({
	selector:'[appHighlight]'
})
export class HighlightDirective{
	@Input() enterColor:string
	@Input() leaveColor:string
	@HostListener('mouseenter') onMouseenter(){
		this.highlightColor(this.enterColor)
	}
	@HoseListener('mouseleave') onMuoseleava(){
		this.highlightColor(this.leaveColor)
	}
	constructor(private el:ElementRef){
	}
	highlightColor(color:string){
	this.el.nativeElement.style.backgroundColor = color
	}
}

ElementRef 指令引用当前DOM实例对象
Directive 该装饰器用来创建指令,selector是css属性选择器
HostListener 监听事件
Input 接收外部输入
private,protect,public的其中一个作用就是创建一个与变量同名的属性并且赋值,所以才有this.el
this.el可以通过nativeElement操作原生DOM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值