Angular中的内置指令和自定义指令

【超详细】基于YOLOv8的PCB缺陷检测 印刷电路板(PCB)瑕疵数据集:是一个公共的合成PCB数据集,由北京大学发布,其中包含1386张图像以及6种缺陷(缺失孔,鼠标咬伤,开路,短路,杂散,伪铜),用于检测,分类和配准任务。本文我们选取了其中适用与检测任务的693张图像,随机选择593张图像作为训练集,100张图像作为验证集。 阅读详情

NG中的指令,到底是什么(what)? 为什么会有(why)?以及怎样使用(how)?

What:   在NG中,指令扩展HTML功能,为 DOM 元素调用方法、定义行为绑定数据等。

Why:    最大程度减少DOM操作,实现数据绑定,与业务逻辑进行交互。

How:    指令主要分为两种:内置指令和自定义指令,通过下面的例子,简单记录一下如何去使用。

内置指令

在官方API文档上罗列了很多指令,内置指令可以分为:普通指令 和 事件指令,他们都是作用于HTML之上的,通过添加属性的方式来实现的。简单看一下一些常用的指令。

普通指令

  • ngApp指令

    • ng-app 指令用来设定一个 AngularJS 应用程序的作用范围的根对象上
    • 系统执行时会自动的执行根对象范围内的其他指令
    • 可以在同一个页面创建多个 ng-app 节点(不推荐)
    • 创建多个ng-app时,默认只能执行第一个,后面的需要手动引导: angular.bootstrap()
    • 标记的范围尽可能小,性能,区域范围越小,性能会更好。
    • 简单示例:
      html结构举例:

      <div ng-app='myApp'>
         <!--这个div是程序的最外围DIV,标识着程序的入口>
      </div>

      对应的javascript结构:

      angular.module('myApp',[]);
      

      备注: 如果给ng-App 赋值如:ng-app='myApp',那么必须要在js中初始化,如: angular.module('myApp',[]) , 不然会报错。

  • ngController指令

    • 用于将控制层的一个控制器作用到视图层,用于支持MVC开发模式的重要的一个方面。
    • 必须在ngApp指令的范围之内
    • 这条指令创造了一个新的作用域
    • 这条指令,优先级很高。
    • 简单举例:
      html结构:

      <div ng-app='myApp'>
          <div ng-controller='myCtrl'></div>
      </div>
      

      javascript结构:

      angular.module('myApp',[])
       .controller('myCtrl',function(){
           // your logic business
       });
  • ngBind指令

    • 将作用域($scope)中的值绑定到元素的 innerHTML 上,其效果会比通过表达式绑定的方式更友好
    • 用于改进表达式 {{}} 所带来的加载时表达式符号暂时性展现的问题。
    • 简单举例:
      html结构

      <div ng-app='myApp'>
          <div ng-controller='myCtrl'>
              <span ng-bind='username'></span>
          </div>
      </div>

      javascript结构

      angular.module('myApp',[])
       .controller('myCtrl',['$scope',function($scope){
           $scope.username='johnny';
       }]);
      
  • ngBindHtml 指令

    • 如果需要在页面上绑定 HTML 内容(比如标签的尖括号,不去转义)。
    • 依赖 ngSanitize 服务,不在核心库中,需要单独引入库文件(angular-sanitize)。
    • 简单示例:
      html结构

      <div ng-app='myApp'>
          <div ng-controller='myCtrl'>
              <span ng-bind-html='htmlData'></span>
          </div>
      </div>

      javascript结构

      angular.module('bindHtmlExample', ['ngSanitize'])
          .controller('ExampleController', ['$scope', function($scope) {
            $scope.htmlData =
               'I am an <code>HTML</code>string with ' +
               '<a href="#">links!</a> and other <em>stuff</em>';
          }]);
  • ngRepeat 指令

    • ng-repeat 指令用来遍历一个数组重复创建当前元素
    • 类似于模板引擎中的each
    • 官方的例子涉及的东西很多
    • 举个简单的实例:
      html结构

      <div ng-app='myApp'>
         <div ng-controller='myCtrl'>
            <ul>
                <li ng-repeat='item in messages track by $index' ng-bind='item'></li>
             </ul>
         </div>
      </div>

      javascript结构

      angular.module('myApp',[])
       .controller('myCtrl',['$scope',function($scope){
              $scope.messages =['今天下班后别走','中国队加油','今夜又失眠了','中国队加油'];
       }]);
    • 上面的 track by $index 是有意义的,因为ng-repeat不能遍历重复项,为了避免程序报错,我们加上 track by $index 可以在内部维护一个$index,就不会因为内容重复而报错。

  • ngClass 指令

    • ng-class用来给html动态设置css样式。
    • 官网上的demo很不错
    • 简单自己来写一写:
      css结构

      .red {color: red}

      html结构

      <div ng-app='myApp'>
         <div ng-controller='myCtrl'>
              <input type='text' placeholder='type your name' ng-model='typedName'>
              <div ng-repeat='item in data' ng-class='{red: typedName && item.name.startsWith(typedName)}'>
                  <span ng-bind='item.name'></span>
               </div>
         </div>
      </div>

      javascript结构

      var data = [
        { id: 1, name: '张三', age: 11, gender: 0 },
        { id: 2, name: '李四', age: 12, gender: 0 },
        { id: 3, name: '李丽', age: 13, gender: 1 },
        { id: 4, name: '周明', age: 14, gender: 0 },
        { id: 5, name: '周玥', age: 23, gender: 1 },
        { id: 6, name: 'johnny', age: 24, gender: 0 }
      ];
      angular.module('myApp',[])
        .controller('myCtrl', ['$scope', function($scope) {
          $scope.typedName = '';
          $scope.data = data;
        }]);
    • 上面功能实现了输入对应的名字,显示红色

    • 总结一下 ng-class的用法 : ng-class={} ,其实就是这样:ng-class={classname1:是否添加-boolean值,classname2:是否添加-boolean值}
    • 另外 还有两个衍生的指令处理奇数和偶数行的样式指令: ngClassEven 和 ngClassOdd
  • ngCloak 指令

    • 用于阻止html模板短暂性的展示,出现的用户体验问题
    • 它会动态的在head里添加一段css样式
    • 另外最重要的,angular库必须在head中引入!
    • 官网上的demo,还解决了IE7css不兼容的问题。
    • 下面简单写下小demo:
      html结构

      <!-- 在header里引入包 -->
      <script src='http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js'></script>
      <!-- 在body里 -->
      <div ng-app='myApp'>
         <div ng-controller='myCtrl' ng-cloak>
            <div>{{user.name}}</div>
            <div>{{user.age}}</div>
            <script>alert('block!')</script>
            <div>{{user.gender}}</div>
         </div>
      </div>

      javascript结构

      angular.module('myApp',[])
        .controller('myCtrl', ['$scope', function($scope){
            $scope.user = {
              'name':'Johnny',
              'age':'24',
              'gender':'0'
            }
        }]);
    • 上面的demo,如果不加ng-cloak指令,那么就会有html模板短暂性的呈现的这个bug,上面我们用了js来阻止了程序的运行,可以看到ng-cloak的作用。

  • ngShow和ngHide 指令

    • 用于控制页面元素的隐藏和显示
    • 值为boolean类型。
    • 如果是false,就会在页面元素上加上一个类ng-hide用于隐藏元素
    • 举个简单的例子:
      html结构

      <!--下面是关键代码,不需要javascript结构-->
      点击隐藏右侧:<input type='checkbox' ng-model='checked'>
      <span ng-show='!checked'>控制隐藏显示</span>
    • 可见 ngShow 和 ngHide都是一样的,我们可以通过取非的方式只用一个就可以了。

  • ngIf 指令

    • ngIf指令完全不同于ngShow或者ngHide ,它控制的是:是否有这个dom元素,而非显示隐藏。
    • 举个小例子
      关键代码:
      Click: <input type='checkbox' ng-model='checked' ng-init='checked=true' />
      <span ng-if="checked">控制有还是没有</span>
  • ngSwitch 指令

    • 根据表达式显示或隐藏对应的部分。
    • 对应的子元素使用 ng-switch-when 指令,如果匹配选中选择显示,其他为匹配的则移除。
    • 可以通过使用 ng-switch-default 指令设置默认选项,如果都没有匹配的情况,默认选项会显示。
    • on 属性必须和ng-switch一起使用,或者直接使用ng-switch属性。
    • 此指令优先级很高
    • 官网上的小demo分析
      html结构

       <div ng-app='myApp'>
           <div ng-controller='myCtrl'>
              <select ng-model='selection' ng-options='item for item in items'>
              </select>
              <tt>selection={{selection}}</tt>
              <hr/>
              <div ng-switch on='selection'>
                  <div ng-switch-when='settings'>Settings Div</div>
                  <div ng-switch-when='home'>Home Span</div>
                  <div ng-switch-default>default</div>
              </div>
            </div>
      </div>
      

      javascript结构

      angular.module('myApp',[])
        .controller('myCtrl', ['$scope', function($scope) {
          $scope.items = ['settings', 'home', 'other'];
          $scope.selection = $scope.items[0];
        }]);
    • 上面用了ng-option的一个遍历循环。
    • 在 ng-switch作用上的父盒子上动态的绑定了option里的值,只要选择有匹配那么在下面的子盒子就会相应的显示。其中可以使用on或者不使用on,但是ng-switch是必备的,直接用ng-switch='selection' 也可以。
  • ngHref 和 ngSrc 指令

    • ng-href / ng-src 指令用于解决当链接类型的数据绑定时造成的加载解析时的bug.因为我们的链接地址都是动态的,我们需要动态的绑定值到src或者href中,src或者href无法解析这样的形式 {{}} 所以就用 ng-src 和 ng-href来使用了。当然还有ng-srcset指令。
  • 其他一些单向数据绑定的指令

    • ng-checked:单选/复选是否选中,只是单向绑定数据
    • ng-disabled:是否禁用
    • ng-readonly:是否只读
    • ng-selected:是否选中,只是单向绑定数据

事件指令

  • ng-change:发生改变
  • ng-copy:拷贝完成
  • ng-click:单击 ng-click='func()'
  • ng-dblclick:双击
  • ng-focus:得到焦点
  • ng-blur:失去焦点
  • ng-submit:表单提交
  • 等等其他事件指令,这些事件指令,在事件触发时相应的完成我们赋予的功能。

自定义指令

指令无外乎增强了 HTML,提供额外的功能
以上的指令基本上已经可以满足我们的绝大多数需要了
少数情况下我们有一些特殊的需要,可以通过自定义指令的方式实现。

从更高的层次上说,指令是DOM元素上的一些标记(例如: 属性,元素名称,注释和一些CSS的类)用于转换DOM元素的内部或者对DOM元素进行一些行为上的绑定。

  • 注意事项

    • 自定义指令和自定义控制器都必须要挂载在模块之下。因为自定义指令的directive是angular.module下的一个方法,点击这里查看
    • 具体用法为 angular.module('moduleName',[]).directive(name, directiveFactory);
    • angular.module 可以使用链式编程的形式,返回模块本身,可定义多个指令。
    • 定义指令的时候用驼峰命名法如:myDirective , 使用的时候用匈牙利命名法:my-directive
    • 自定义指令可以把一段重复使用的方法封装起来,类似封装一些组件来使用。
  • 对return中的一些常用选项的说明 ,官方文档的说明(访问不了,可能是因为文档上的路由设置,需要一层层的点进去查看),就不再举例了。

    • template : 用于将一段自定义的代码绑定到含有对应指令的html中。
    • templateUrl : 用于将’其他html’文件渲染进入含有对应指令的html中。当然这里的’其他html’里面可以有我们的指令或者表达式,其实就是代码段,和在当前页面一样使用,只是抽离出去了,方便管理。这里会用异步请求的方式来得到这个文件。注意:此处会发送一个xhr请求。
    • transclude : 值为布尔型,需要在template中添加一个内置指令ng-transclude,将含有这个自定义指令中的内容,放入到template中去渲染,然后放到含有自定义指令的DOM元素内。
    • replace : 值为布尔型, 开启后就会把含有自定义指令的DOM元素,替换成template中的内容。
    • scope : 规范指令的作用域的问题,如果没写,ng中默认的是放在根作用域中的,一般每个控制器就会有一个作用域,每个指令也会存在一个作用域,并且作用域存在继承关系,我们为了规范作用域,可以在自定义指令中有一个scope选项,在scope内部定义一些属性。下面是示例代码。
      html结构:

      <div ng-app='myApp'>
        <haha title='hello' data='world'></haha>
      </div>
      

      javascript结构:

      angular.module('myApp',[])
        .directive('haha',[function(){
          return {
            scope:{
              title:'@',
              data:'@'
            },
            template:'{{title}} {{data}}'
          }
        }])

      代码输出 hello world 其中 @ 表示 scope中的属性值,引用了使用自定义指令的DOM元素的属性值。

    • restrict : 用于指定自定义指令的类型。 A,表示只匹配属性。E,表示只匹配元素。C,表示只匹配类名。AEC,表示三种都可以作为匹配项。而M,匹配注释指令,已经被高版本抛弃使用了,我们推荐使用A和E。

    • link函数 : angular 中允许在这个内部进行一些dom操作,格式是这样的: link:function(scope, element, attrs){} scope代表的是当前指令的作用域,element代表当前元素,attrs代表元素的属性,在里面用的是jqlite里面的api。备注,如果只去操作dom,那么我们只需要return一个函数就行了,不用 link选项了。

第三方依赖库指令

当然还有一些围绕angular中的第三方库比如AngularUI库里面也有无数的指令,这里就不再阐述了。

拓展知识:

  • 符合W3C的自定义属性有两个 : 一个是 data-attribute 一个是 x-attribute 这两个都在NG中兼容,比如 ng-app 也可以写成 data-ng-app 或者 x-ng-app 。

  • html的注入的安全问题:比如一个可以插入html内容的地方,插入了一个script标签,在脚本里面可以进行多种具有危险性的操作,比如cookie,session劫持,页面的重定向等等。这个叫做 XXS (Cross Site Scripting),跨站脚本攻击。

    • 解决这个问题的方式就是进行标签的转义。
    • 像这种安全问题在数据库中也存在,比如SQL注入,有机会再去学习。

更多阅读:

更多链接:

避坑指南:CesiumLab+ENVI处理Sentinel-2影像数据的完整流程 本文提供了一份详细的避坑指南,完整介绍了如何利用CesiumLab和ENVI工具链,将Sentinel-2卫星影像处理成可供Cesium三维地球引擎加载的离线瓦片数据。内容涵盖数据获取、SNAP预处理、ENVI影像增强合成以及CesiumLab切片配置等全流程实战步骤与关键参数优化,旨在帮助工程师高效构建自主可控的高精度离线地图服务。 阅读详情

相关推荐

Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决

介绍 主要解决如下问题 网络图标消失 常用方法配置中出现的网络图标变成灰色没有办法打开 打开网络和Internet闪退 错误提示`网络发现已关闭。网络计算机和设备不可见。请启动网络和共享中心的网络发现。 连不上网,诊断结果为 依赖服务或组无法启动 这个问题大概率通过重装系统不能解决,请大家谨慎测试之后最后选择重装这个路线。 方法1:这一步一定要做(卸载三方软件) 把360安全卫士,软件管家这些东西都卸载掉。 我的问题一开始就是这个软件引起的,可能他检测到我还给台式机配了无线网卡,然后就把有线网络的一些

呆呆象呆呆的博客 3万+

ng自定义指令

ng自定义指令 自定义指令( 了解 ) 如果使用: 1> 作为 属性使用 2> 作为 class 使用 3> 作为标签 a 4> 作为注释使用: 自定义指令语法: module.directive( '指令名(驼峰命名规则)', [ '...', function ( ... ) { return function | obj

ITzhongzi的博客 680

从FOC到你的无人机:深入浅出讲透Clark/Park变换在无刷电机控制中的核心作用

本文深入解析Clark变换与Park变换在无刷电机控制中的核心作用,揭示其如何将三相交流电转换为旋转坐标系下的直流量,实现无人机电机的高效精准控制。通过STM32硬件加速和工程实践案例,展示这对数学变换如何成为FOC算法的神经中枢,大幅提升系统响应速度和能效表现。

weixin_42628941的博客 168

在angular7中创建组件/自定义指令/管道

在angular7中创建组件/自定义指令/管道 组件 使用命令创建组件 创建组件的命令:ng generate component 组件名 生成的组件组成: 组件名.html 、组件名.ts、组件名.less、组件名.spec.ts 在组件的控制器 @Component({ selector: &#39;app-heroes&#39;, templateUrl: &a...

weixin_44092113的博客 489

MTK-AWB 小结 (二)

调试总结:可以将offset 对应的ratio加大,保留更多的喜好色(偏色),影响WF statistic gain,从而影响最终的awb gain。这一部分前期CCT校准的时候就会算出一组默认值,当然这个offset offse 值用于优化T,S,wf 光下的偏色喜好度. offset。后面遇到 A H Shad 光收白或者偏色,还可以优化 A 的offset ,H offset,shad offset.new offset 计算过程(Day locus offset 和M/G offset )

qq_46056347的博客 1167

项目管理知识体系(PMBOK)中的质量规划详解

你是否遇到过这些场景?软件上线后用户投诉“功能漏洞多”,团队连夜返工;装修完的房子墙面开裂,施工方和业主互相推诿;新研发的手机电池续航不达标,被迫延迟发布。这些问题的根源,往往是项目启动时没有做好质量规划。本文聚焦PMBOK中“质量规划”(Plan Quality Management)过程,覆盖其核心概念、操作步骤、工具技术与实战应用,适用于IT、建筑、制造等各类项目场景。

项目管理的博客 1117

ng自定义指令和四种用法

ng自定义指令只有一种方法,通过directive去定义声明,使用有四种方法,作为元素、属性、class类、注释。以返回一个对象的方式定义。需要注意是名称必须以驼峰式命名,使用时变横杠的方式,比如名称为:myTest, 使用: my-test。ng内置的指令也是这么用的。 自定义指令的常用的属性有这么一些:name  priority  terminal  scope  controller  

前端开发技术 3541

3060台式机 Ubuntu 双系统部署 LingBot-Map 完整指南

摘要: 本文详细介绍了在配备RTX 3060显卡的台式机上部署Ubuntu双系统并安装LingBot-Map 3D重建模型的完整流程。LingBot-Map作为蚂蚁灵波科技开源的Transformer架构模型,在流式3D场景重建中展现出高效性能(20 FPS)和卓越精度(ATE仅6.42米)。指南涵盖关键准备步骤、UEFI分区原理、Ubuntu安装流程(推荐150GB空间及手动分区方案),以及后续驱动配置说明,特别强调RTX 3060需12GB显存支持,并提供了数据备份、Secure Boot处理等实用建议

huanghm88的专栏 309

ng 命令解析之component,module

1.ng g component componentName 用于创建一个组件,可以在页面中担当特定可重复的功能组件,也可以挂载在路由上,充当页面展示,这里就不详细介绍使用方法了 2.ng g module moduleName 用于创建一个自定义模块,当项目过于庞大的时候就可以考虑使用module,把每个分支功能都做成一个module方便开发和管理,自定义的module可以对外暴露指定组件,也可以直接挂载在主路由上,实现路由懒加载 //此处创建一个user自定义模块,附带一个路由配置文件,..

prayer的博客 1447

Qt和FFmpeg的视频压缩工具

m_progressDialog = new QProgressDialog("正在压缩视频...", "取消", 0, 100, parent);QString file = QFileDialog::getOpenFileName(this, "选择视频文件", "",QString file = QFileDialog::getSaveFileName(this, "保存压缩文件", "",QMessageBox::warning(parent, "错误", "请设置输入和输出文件路径");

寒寒豆豆软件公司的博客 101

实战落地!Python抓取股票历史数据:开盘/收盘/成交量全维度爬取(附数据清洗+可视化)

股票历史数据抓取的核心是“数据准确性+完整性”,网页爬取适合小批量、个性化需求,API调用适合批量、标准化需求。多市场数据抓取:适配港股(00700.HK)、美股(AAPL)的抓取逻辑;高频数据抓取:抓取分钟级、小时级行情数据,用于短线量化策略;财务数据扩展:抓取市盈率、市净率、净利润等财务指标,结合价格数据做基本面分析;量化策略回测:将清洗后的数据接入Backtrader、VNPY等量化框架,验证策略有效性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1739

ng 指令的自定义、使用

1、创建和使用var app = angular.module('myApp',['ng']);app.directive('指令名称',func); 自定义指令的命名:驼峰式,有两部分构成,前缀一般是公司或者项目的缩写,后缀表示的为指令的作用(tsHello)使用指令时:采用烤串式的方式去使用(ts-hello) 2、高级 属性:①template 显示的模板内容②restric...

weixin_30371469的博客 193

基于STM32L4XX、HAL库的MAX13487EESA RS485总线收发器驱动程序设计

MAX13487EESA是一款3.3V供电的RS-485/RS-422收发器,由Maxim Integrated生产。PA4 (控制引脚) ---> /RE, DE (连接在一起)具有±15kV ESD保护的驱动器输出和接收器输入。半双工RS-485/RS-422通信。工业温度范围:-40°C至+85°C。工作电压范围:3.0V至3.6V。数据速率高达250kbps。

zhusl6688的博客 685

Angular 指令

Angular 指令通过扩展 HTML 的能力,使开发者能够创建更加动态和交互的 web 应用程序。了解和掌握不同类型的指令,对于构建强大的 Angular 应用至关重要。Angular 指令是 Angular 框架中的一项核心功能,它允许开发人员扩展 HTML 的功能,并创建可复用的组件和行为。组件指令是最常用的一种指令,用于创建可复用的 UI 组件。每个组件指令都关联一个模板,用于定义组件的视图。属性指令用于改变 DOM 元素的外观或行为。开发者可以创建自定义指令来扩展 Angular 的功能。

ruky36的专栏 970

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

angular自定义指令

1、什么是指令? 官方文档的解释:指令是为 Angular 应用程序中的元素添加额外行为的类。使用 Angular 的内置指令,你可以管理表单、列表、样式以及要让用户看到的任何内容。 2、指令的分类 1)组件—— 带有模板的指令。这种指令类型是最常见的指令类型。 2)属性型指令—— 更改元素、组件或其他指令的外观或行为的指令。 3)结构型指令—— 通过添加和删除 DOM 元素来更改 DOM 布局的指令。 内置属性指令:内置指令只会使用公开 API。它们不会访问任何无法被其它指令访问的私有 ...

weixin_36430673的博客 1507

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Angular-04:指令

场景:为元素设置默认的背景颜色,鼠标移入时的背景颜色以及移出时的背景颜色。举例:元素默认为深蓝色,鼠标移入时变成粉色,移出变成黄色用户可以设置自定义颜色,未设置颜色使用默认色深蓝色,自定义颜色使用了浅蓝色。appBgColor指令// 接收参数的类型bgColor?: string;})// 接收参数,没有传入值,默认为:#00aaff//要操作的Dom节点private el: ElementRef //获取要操作的Dom节点) {// 组件模板初始化完成后设置元素的背景颜色。

奇怪的人类 774

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

angular搞定复杂的自定义指令

一文带你入坑angular框架的指令系统,深入浅出。

So_I_like的博客 391

Angular 中的指令(Directives)

指令是 Angular 中用来扩展 HTML 的特殊标记。它们允许你为 DOM 元素添加新的行为或者改变元素的外观。可以把指令想象成是给 HTML 元素添加的"超能力"。指令是 Angular 中非常强大的功能,它们允许你以声明式的方式扩展 HTML 的能力,使得创建复杂的、动态的用户界面变得更加简单。指令也有生命周期钩子,如 ngOnInit(), ngOnDestroy() 等,类似于组件。你也可以创建自己的指令。c) ngSwitch:多条件渲染。a) ngIf:条件渲染。

疯狂假前端的博客 1220

Angular 指令的用法

一、定义 为 Angular 应用程序模板中的标签添加额外行为的类。 二、分类 内置指令 属性型指令: NgClass、 NgStyle、 NgModel 结构型指令: NgIf、 NgFor、 NgSwitch 自定义指令 自定义属性型指令 创建及使用 1.在directives文件目录创建highlight指令 ng g d directives/highlight 创建的highlight.directive.ts文件如下 import { Directive } from '@angular

guizi0809的博客 1079

Angular学习笔记之-8.指令

内置指令 1.Angular 提供了两种内置指令属性型指令和结构型指令。 最常见的属性型指令如下: NgClass —— 添加和删除一组 CSS 类。 NgStyle —— 添加和删除一组 HTML 样式。 NgModel —— 将数据双向绑定添加到 HTML 表单元素。 NgClass 用 ngClass 同时添加或删除几个 CSS 类 1.相关代码 ```typescript import { Component } from '@angular/core'; @Component({

weixin_43413047的博客 249

Angular 2 Directive

Angular 2 的指令分为以下三种: 组件(Component directive):用于构建UI组件,继承于 Directive 类 属性指令(Attribute directive): 用于改变组件的外观或行为 结构指令(Structural directive): 用于动态添加或删除DOM元素来改变DOM布局 Angular 2 组件 组件示例:

5hongbing的博客 685

Angular2 指令

1. 指令说明 Angular2 指令是构成Angular2应用程序的重要组成部分,指令主要用来对模板的标签或者元素附加一些新的特性或者功能,改变一个 DOM 元素的外观或行为,Angular2指令和组件十分类似,也有由模块,注解,元数据以及组件类组成,实际上组件继承于指令,不同的是指令没有模板的信息,主要存在两种类型的指令: l 结构型指令:会通过添加 / 删除 DOM 元素来更改 D...

weixin_30429201的博客 79

Angular 指令(Directive)属性型指令

Angular 指令(Directive)属性型指令 在Angular中有三种指令类型 组件 :拥有模板的指令 结构型指令:通过添加或移除DOM来改变DOM布局的指令 属性型指令:改变元素,组件或其他指令的外观和行为的指令 自定义指令之后将其到app.moduel中添加即可使用 @HostListener 监听宿主元素的事件或者是其他元素的事件 示例: @I

Yuit 959

12、指令

内容提要 - 组件与指令之间的关系 - Angular中内置的指令(共37个) - 指令的作用(属性型和结构型) - 自定义属性型指令(@HostListener与@HostBinding) - 自定义结构性指令(非常复杂,一般在业务处理中用得很少,一般是会用在封装组件库中!) 指令相关的官方文档:https://angular.cn/guide/attrib

学海无涯苦作舟 529

推荐使用:Angular 货币输入指令 ng2-currency-mask

推荐使用:Angular 货币输入指令 ng2-currency-mask 在开发金融相关的Web应用时,货币输入的格式化和验证是必不可少的功能。ng2-currency-mask 是一个为Angular设计的轻量级货币格式化指令,它使得在表单中处理数字变得简单而直观。该项目已在Angular版本13上进行过测试,并且能够很好地与其他Angular组件协作。 项目简介 ng2-currency-m...

gitblog_00089的博客 458

angular基础5-8【指令&管道&组件通讯&组件生命周期】

5. 指令 Directive 指令是 Angular 提供的操作 DOM的途径。指令分为属性指令和结构指令。 属性指令:修改现有元素的外观或行为,使用 [] 包裹。 结构指令:增加、删除 DOM 节点以修改布局,使用*作为指令前缀 5.1 内置指令 5.1.1 *ngIf 根据条件渲染 DOM 节点或移除 DOM 节点。 <div *ngIf="data.length == 0">没有更多数据</div> <div *ngIf="data.length >

letianxf的博客 1056
上一篇: Angular和jQuery之间的区别
下一篇: 用一个小例子,来分析nodejs的异步调用的顺序
Wang's Blog
博客等级 码龄12年 7418粉丝 2402原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值