Home > Web Front-end > JS Tutorial > Angular learning talks about Directive instructions

Angular learning talks about Directive instructions

青灯夜游
Release: 2022-11-04 19:39:21
forward
1614 people have browsed it

This article will take you to continue learning angular and briefly understand the use of Directive instructions in angular. I hope it will be helpful to everyone!

Angular learning talks about Directive instructions

Directive is used to modify the DOM to add additional behavior to it. [Related tutorial recommendations: angularjs video tutorial, Programming video]

Angular built-in instructionsangular.cn/guide/built…

For example, *ngFor commonly used in development is an instruction used to traverse and render DOM elements.

You can refer to the link below. I have written use cases for these instructions.

rick-chou.github.io/angular-tut…

Here I will mainly introduce how to customize your own instructions

For example, we want the DOM background color to switch when the mouse moves in/out

<!-- 默认 鼠标移入时背景变成黄色 -->
<p highlight>Highlight me!</p>
<!-- 指定颜色 鼠标移入时背景变成红色 -->
<p highlight="red">Highlight me!</p>
Copy after login

Let’s implement this example

import { Directive, ElementRef, HostListener, Input } from &#39;@angular/core&#39;;

// Directive装饰器 可以接收一个对象参数 但是现在我们还不需要
@Directive()
export class HighlightDirective {
  // 给这个指定定义一个 highlight 属性
  @Input() highlight = &#39;yellow&#39;;

  // 这里的 el 就是被我们的指令直接修饰的那个dom
  constructor(private el: ElementRef) {
    // 你可以在这里直接操作 dom
  }

  // 给这个dom定义一个mouseenter的监听器 后面的名字可以自定定义
  @HostListener(&#39;mouseenter&#39;) 
  onMouseEnter() {
    this.highlight(this.highlight);
  }

  // 添加鼠标移出的监听器 绑定对应的事件逻辑
  @HostListener(&#39;mouseleave&#39;) 
  onMouseLeave() {
    this.highlight(&#39;&#39;);
  }

  private highlight(color: string) {
    this.el.nativeElement.style.backgroundColor = color;
  }
}
Copy after login

For more programming-related knowledge, please visit:Programming Teaching! !

The above is the detailed content of Angular learning talks about Directive instructions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:juejin.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template