iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >Angular学习之聊聊Directive指令
  • 149
分享到

Angular学习之聊聊Directive指令

前端Angular.js 2022-11-22 23:11:40 149人浏览 安东尼
摘要

例如 开发中常用的 *ngFor 就是一个指令 用来遍历渲染 DOM 元素可以参考下面的 Link 我为这些指令都编写了用例rick-chou.GitHub.io/angular-tut…这里我主要介绍一下如何自定义一个自己的指令举个例子

例如 开发中常用的 *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指令的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: Angular学习之聊聊Directive指令

本文链接: https://www.lsjlt.com/news/173460.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Angular学习之聊聊Directive指令
    例如 开发中常用的 *ngFor 就是一个指令 用来遍历渲染 DOM 元素可以参考下面的 Link 我为这些指令都编写了用例rick-chou.github.io/angular-tut…这里我主要介绍一下如何自定义一个自己的指令举个例子 ...
    99+
    2022-11-22
    前端 Angular.js
  • Angular学习之聊聊路由(Routing)
    1. 摘要简单来说地址栏中,不同的地址(URL)对应不同的页面,这就是路由。同时,点击浏览器的前进和后退按钮,浏览器就会在你的浏览历史中向前或向后导航,这也是基于路由。【相关教程推荐:《angular教程》】在 Angular 里面,Rou...
    99+
    2023-05-14
    Angular Angular.js
  • Angular学习之聊聊生命周期
    ngAfterContentInit当把外部的内容投影到内部组件,第一次调用 ngDoCheck 之后调用 ngAfterContentInit,而且只调用一次。// demo.component.ts ngAfterContentIni...
    99+
    2023-05-14
    生命周期 javascript Angular Angular.js
  • Angular学习之聊聊notification(自定义服务)
    比如,我们这篇文章要讲到的 notification 的实现。【相关教程推荐:《angular教程》】效果图如下:UI 这个可以后期调整So,我们一步步来分解。添加服务我们在 app/services 中添加 notification.se...
    99+
    2023-05-14
    前端 JavaScript Angular.js
  • Angular学习之聊聊独立组件(Standalone Component)
    standalone 是 Angular14 推出的新特性。它可以让你的 根模块 AppModule 不至于那么臃肿所有的 component / pipe / directive 都在被使用的时候 在对应的组件引入就好了举个例子 这是之前...
    99+
    2023-05-14
    独立组件 Angular.js 前端
  • angular学习之深入聊聊状态和动画
    本篇文章带大家深入了解一下angular中的状态和动画,简单介绍一下创建动画的方法,并聊聊关键帧动画、动画回调、可重用动画、交错动画等知识点,希望对大家有所帮助!状态1、什么是状态状态表示的是要进行运动的元素在运动的不同时期所呈现的样式。2...
    99+
    2023-05-14
    状态 动画 Angular
  • Angular学习之聊聊Http ( 错误处理 / 请求拦截 )
    本篇文章带大家继续angular的学习,简单了解一下Angular中的Http处理,介绍一下错误处理和请求拦截,希望对大家有所帮助!基本使用用 Angular 提供的 HttpClient 可以很轻松的实现 API 接口的访问。【相关教程推...
    99+
    2023-05-14
    Angular.js 前端
  • Node学习之聊聊模块系统
    Node.js 中存在 4 类模块(原生模块和3种文件模块) 例:var http = require("http");Node.js 中自带了一个叫做 http 的模块,我们在我们的代码中请求它并把返回值赋给一个本地变...
    99+
    2023-05-14
    node.js模块
  • vue学习之聊聊模板编译原理
    **在AST中找出所有静态根节点并打上标记 ** 静态根节点:子节点全是静态节点的节点 使用递归从上向下寻找,在寻找的过程中遇见的第一个静态节点就为静态根节点,同时不继续往下找。如果一个静态根节点的子节点只有一个文本节点或没有子节点,那么不...
    99+
    2023-05-14
    模板编译 Vue
  • Node学习之聊聊Cookie-Session登录验证的工作原理
    为什么不单独使用Cookie?Cookie是存放在浏览器中的,可以在浏览器中打开控制台,选择应用,找到存储中的Cookie进行查看:当客户端向服务端发送网络请求时浏览器会自动将Cookie添加到请求头中,这样服务端就能获取这个Cookie,...
    99+
    2023-05-14
    Node.js node
  • jmeter学习指南之非GUI命令行运行详解
    一、为什么要用命令行运行jmeter?主要有以下三点:1) 图形化界面消耗更多资源,如CPU和内存,容易使压力机达到瓶颈,从而影响测试结果。2) 图形化界面不支持大型的负载测试和性能测试,并发较大时,jmeter会崩溃。3) 命令行方式可以...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作