加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Angular中Directive指令咋用 能做什么

发布时间:2023-08-17 11:26:36 所属栏目:语言 来源:
导读:这篇文章主要讲解了“Angular中Directive指令怎样用,能做什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思

这篇文章主要讲解了“Angular中Directive指令怎样用,能做什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。

Directive 用来修饰 DOM 给它添加额外的行为。

Angular 内置指令 angular.cn/guide/built…

例如 开发中常用的 *ngFor 就是一个指令 用来遍历渲染 DOM 元素

可以参考下面的 Link 我为这些指令都编写了用例

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;

}

}

现在大家对于Angular中Directive指令怎样用,能做什么的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章