zoukankan      html  css  js  c++  java
  • Angular 使用总结(四)组件之常用技巧

    1. 加判空

    举例:

     原因:

    解决:加问号,Angular 发现为空时,忽略掉这部分内容,不会导致整个应用崩掉

    <div>
        student name is {{stu?.name}}<br>
        student age is {{stu?.age}}
    </div>

    2. Any 类型

    <p>The item's undeclared best by date is: {{$any(stu).newProp}}</p>

    AOT模式下,会检查stu的类型,如果真的需要引用定义外的属性名,可以转换成any 

    3. 属性和事件起别名

    虽然不推荐,但有时确实需要给暴露出去的属性换一个名字

      @Output('myEvent')
      clickEvent = new EventEmitter<any>();

    使用,注意第一个Button现在点了已经没反应了

    <app-simple-test (clickEvent)="show($event)"></app-simple-test>
    <app-simple-test (myEvent)="show($event)"></app-simple-test>

    4. 常用的内置管道:

    {{stu}}<br><br>
    {{stu | json}}<br><br>
    
    {{str}}<br><br>
    {{str | uppercase}}<br><br>
    {{str | lowercase}}<br><br>
    
    {{str}}<br><br>
    {{str | slice:2:5}}<br><br>
    
    {{myDate}}<br><br>
    {{myDate | date:"MM/dd/yy"}}<br><br>
    
    {{data}}<br>
    {{data | percent:'4.3-5'}}<br>

    效果:

    5. 父组件调用子组件

    1.html

    2. ts

    复杂一点的情况,需要在父组件上注入一个service的实例,子组件也继承这个相同的实例,两者通过这一个对象进行通讯:

    举个例子,子组件写入一条消息,父组件读出来

     首先,父组件要注入一个服务,子组件就能继承到:

     子组件注入:

     子组件传递消息:

     之后,父组件就能从服务取出来,子组件写入的一条消息

  • 相关阅读:
    动态规划算法1——背包问题
    图论——Dijkstra算法
    C++的输入和输出
    org.hibernate.type.SerializationException: could not deserialize 反序列化失败
    当json串传输异常(乱码破坏格式),服务器不能解析时,可以截取串达到取值的目的
    ReferenceError: ** is not defined
    jar包反复下载不成功
    include与.jspf
    url中“/”的意义
    JSP取得绝对路径
  • 原文地址:https://www.cnblogs.com/chenyingzuo/p/12546621.html
Copyright © 2011-2022 走看看