• Angular中的装饰器


    Angualr中的装饰器是一个函数,它将元数据添加到类、类成员(属性、方法)和函数参数

    用法:要想用装饰器,把它放到被装饰对象的上面或做左面

    1.类装饰器:

     类装饰器应用于类构造函数,可以用来监控、修改或替换类定义

    类装饰器表达式会在运行时当作函数被调用,类的构造函数作为唯一的参数

    @Component 标记类作为组件并收集组件配置元数据(继承Directive)

    @Directive 标记类作为指令并收集组件配置元数据

    声明当前类时一个指令,并提供关于该指令的元数据

    @Pipc 声明当前类是一个管道,并且提供关于管道的元数据

    @Injectable 标记元数据并可以使用Injector注入器注入

    @NgModule是一个装饰器函数,它接收一个用来描述模块属性的元数据对象

    重要的属性有:

    declarations 声明本模块中拥有的视图类(Angular中有三种视图类:组件、指令和管道)

    exports - declarations的子集,可用于其他模块的组件模板

    imports 本模块声明的组件模板需要的类需要的类所在的其他模块 模块的导入声明

    providers -服务的创建者,并加入到全局服务列表中,

    bootstrap --指定应用的主视图(称为根节点),它是所有其他视图的宿主

    2.属性装饰器:

    属性装饰器表达式会在运行时当作函数被调用

    传入2个参数

    (1).对于静态成员来说是类的构造器,对于实例成员是类的原型对象

    (2).成员名字

    @Input 声明一个输入属性,以便我们可以通过属性绑定更新它

    @Output 声明一个输出属性,以便我们可以通过事件绑定进行订阅

    @Hostbinding 把宿主元素的属性(比如CSS类) 绑定到指令/组件的属性

    @HostListener 通过指令/组件的方法订阅宿主元素的事件

    @ContentChild 配置一个内容查询

    @ViewChild 配置一个视图查询

    @ContentChildren 配置多个内容查询(返回QueryList类型)

    @ViewChildren 配置多个视图查询(返回QueryList类型)

    3.参数装饰器:

    参数装饰器表达式会在运行时当作函数被调用

    传入3个参数

    (1).对于静态成员来说是类的构造函数,对于实例成员是类的原型对像

    (2).成员名字

    (3).参数在函数列表中的索引

    @Ingject指定依赖关系的参数装饰器(一般用来注入被标记Injectable的类)

    @Optional将依赖项标记为可选的参数类型,如果没有找到依赖关系,注射器将提供null

    @Self指定注射器只能从本身检索依赖关系

    @SkipSelf指定注射器只能从父类检索依赖关系

    @Host按照依赖关系来检索

  • 相关阅读:
    [nginx]简单内容管理系统的spring项目的nginx.conf配置文件的注释理解
    [日常填坑]部署使用Idea开发的spring框架的多模块项目到服务器
    [日常填坑]centos7.0+版本服务器安装jdk9或者jdk10
    [日常填坑]centos7.0+版本服务器安装mysql
    机器学习实战之kNN算法
    机器学习实战之机器学习主要任务
    模式字符串匹配问题(KMP算法)
    ubuntu 更新引导命令
    ubuntu 14.04 中找不到 libgtk-x11-2.0.so
    maven project 更新总是jre-1.5
  • 原文地址:https://www.cnblogs.com/violinh/p/12148318.html
Copyright © 2020-2023  润新知