這篇文章主要介紹“Angular的Directive指令怎么使用”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Angular的Directive指令怎么使用”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)成立與2013年,先為犍為等服務(wù)建站,犍為等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為犍為企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Directive 用來修飾 DOM 給它添加額外的行為。
Angular 內(nèi)置指令 angular.cn/guide/built…
例如 開發(fā)中常用的 *ngFor
就是一個(gè)指令 用來遍歷渲染 DOM 元素
這里我主要介紹一下如何自定義一個(gè)自己的指令
舉個(gè)例子 我們希望鼠標(biāo)移入/移出的時(shí)候 DOM 背景色有切換
Highlight me! Highlight me! 下面 我們來實(shí)現(xiàn)這個(gè)例子
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
// Directive裝飾器 可以接收一個(gè)對(duì)象參數(shù) 但是現(xiàn)在我們還不需要
@Directive()
export class HighlightDirective {
// 給這個(gè)指定定義一個(gè) highlight 屬性
@Input() highlight = 'yellow';
// 這里的 el 就是被我們的指令直接修飾的那個(gè)dom
constructor(private el: ElementRef) {
// 你可以在這里直接操作 dom
}
// 給這個(gè)dom定義一個(gè)mouseenter的監(jiān)聽器 后面的名字可以自定定義
@HostListener('mouseenter')
onMouseEnter() {
this.highlight(this.highlight);
}
// 添加鼠標(biāo)移出的監(jiān)聽器 綁定對(duì)應(yīng)的事件邏輯
@HostListener('mouseleave')
onMouseLeave() {
this.highlight('');
}
private highlight(color: string) {
this.el.nativeElement.style.backgroundColor = color;
}
}
關(guān)于“Angular的Directive指令怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。