zoukankan      html  css  js  c++  java
  • 4-1 什么是注解


    在函数里面return了一个函数。函数本身的返回值就是函数。

    装饰器并不是angular独有的 它是typeScript的特性。

    做一个注解

    做一个表情的注解。

    让传入的字符串两边个加 一个表情符号。

    在shared目录下新建目录decorators

    新建index.ts

    函数里面返回另外一个函数

    这个函数实际上是一个匿名函数,匿名函数可以使用Es6的写法,箭头函数的形式,参数有两个一个target 一个是key

    key是string类型。target实际上就是调用这个装饰器的类。

    先获取目标对象的属性,然后return这个val

    用setter,把传入的值两边 加上表情符号。

    怎么附加在原来的对象之上呢?这个只是点是javascript上的。意思是把这个对象的key重新做一下定义。

    把它的get和set用我们上面定义的getter和setter代替,然后并设置enumerable和configurable设置为true

    在这里导入这个注解

    页面上展示效果



    我们在debug里面看一下,默认是没有配置,点击轮毂的按钮。

    它会让你选择哪个debug的,这里选择Chrome

    这里换成4200,因为我们前端的运行环境是4200

    要求是先启动ng serve 启动前端。点击绿色按钮

    这个时候会新启动一个网页

    我们在前端的ts代码里设置断点

    重新刷一下前端页面

    断点就进来了


    点击跳到下一步

    再写一个注解加深印象

    angular中的注解,不光可以应用于属性,还可以应用于函数
    比如说在这里点击之前,我们想要它有一个确认的对话框。

    这个注解有参数

    参数叫做message

    参数是string类型的

    同样的在里面我们返回一个函数。

    函数多一个入参,属性描述符,它是一个PropertyDescriptor

    PropertyDescriptor也是javascripr中的概念。比如说在一个对象中
    比如说下面这个类就是一个对象

    对于每一个属性,它都有一个描述符。这个描述符里面会有这个属性的值,get和set

    我们的装饰器,修饰的一个函数。我们要把这个函数得到。

    先把原来的函数放到一个变量里面。然后我们要对它进行处理。

    我们要弹出对话框,根据对话框的选择来决定是否执行这个函数。我们来定义这个函数,给他一个参数...args是any类型的。

    我们首先要做的是弹出对话框的这个操作,弹出对话框里面要有信息,这里我们用的就是message,正好是我们装饰器接收的参数。

    然后根据它的返回结果值来决定是否执行原有的函数。

    如果返回的结果为真,那么就执行原有的函数,否则就返回null

    最后在把这个descriptor返回回去。这样我们的装饰器就完事了。

    然后把这个装饰器导入进来

    这个时候点击一下你好,就会弹出一个窗体

    点击确定

    注解其实就是函数。只不过它是一个返回函数的函数。注解本身可以带参数,也可以不带参数。

    在写注解的过程中用到的一些概念,这些概念可以去下面的网站去看。



     

    结束

  • 相关阅读:
    hibernate核心配置
    h5的部分新元素或属性
    java编译优化
    java值和地址值传递、字符串常量池的理解
    实现两数交换的几种方法
    数据类型转换-运算符
    [LeetCode] 395. Longest Substring with At Least K Repeating Characters
    [LeetCode] 823. Binary Trees With Factors
    [LeetCode] 772. Basic Calculator III
    [LeetCode] 1404. Number of Steps to Reduce a Number in Binary Representation to One
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/13515200.html
Copyright © 2011-2022 走看看