這篇文章帶大家繼續angular的學習,簡單了解一下angular中Directive指令的使用,希望對大家有幫助!
Directive 用來修飾 DOM 給它額外的行為。 【相關教學推薦:angularjs影片教學、程式設計影片】
#Angular 內建指令angular.cn/guide/built…
例如開發中常用的*ngFor
就是一個指令用來遍歷渲染DOM 元素
可以參考下面的Link 我為這些指令都寫了用例
這裡我主要介紹如何自訂一個自己的指令
舉例我們希望滑鼠移入/移出的時候DOM 背景色有切換
<!-- 默认 鼠标移入时背景变成黄色 --> <p highlight>Highlight me!</p> <!-- 指定颜色 鼠标移入时背景变成红色 --> <p highlight="red">Highlight me!</p>
下面我們來實作這個範例
import { Directive, ElementRef, HostListener, Input } from '@angular/core'; // Directive装饰器 可以接收一个对象参数 但是现在我们还不需要 @Directive() export class HighlightDirective { // 给这个指定定义一个 highlight 属性 @Input() highlight = 'yellow'; // 这里的 el 就是被我们的指令直接修饰的那个dom constructor(private el: ElementRef) { // 你可以在这里直接操作 dom } // 给这个dom定义一个mouseenter的监听器 后面的名字可以自定定义 @HostListener('mouseenter') onMouseEnter() { this.highlight(this.highlight); } // 添加鼠标移出的监听器 绑定对应的事件逻辑 @HostListener('mouseleave') onMouseLeave() { this.highlight(''); } private highlight(color: string) { this.el.nativeElement.style.backgroundColor = color; } }
更多程式相關知識,請造訪:程式教學! !
以上是Angular學習之聊聊Directive指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!