この記事では、Angular の学習を継続し、angular でのディレクティブ命令の使用方法を簡単に理解します。皆さんのお役に立てれば幸いです。
ディレクティブは、DOM を変更して追加の動作を追加するために使用されます。 [関連チュートリアルの推奨事項: angularjs ビデオ チュートリアル 、プログラミング ビデオ ]
Angular 組み込み命令 angular.cn/guide/built…
たとえば、開発で一般的に使用される *ngFor
は、DOM 要素を走査してレンダリングするために使用される命令です。
rick-chou.github.io/angular-tut…ここでは主に説明します。独自の命令をカスタマイズする方法を紹介します
たとえば、マウスが出入りするときに 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; } }
Forプログラミング関連の知識については、
プログラミング教育以上がAngular 学習でディレクティブ命令について語るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。