• --Angular8实现拼多多--Angular修行日志02--


    小虾米于2020年8月某日,在学习使用Angular心法实现拼多多电商平台的项目中。熟悉了Angular中以下运功要领(代码操作)

    1.@Input的使用

      @Input,用于父组件想子组件传递参数。

      需在子组件中构建

        @Input () 变量名:变量数据类型

      的方式,进行接收参数。

      在selector定义的组件标签中,需要通过[子组件变量名]="父组件所传递的变量" 的方式进行数据的交互。

      这样就能实现将父组件中的数据,传递给子组件中使用。

      优势:

        方便了子组件的复用,使得组件利用率大大提高

    2.@ViewChild@ViewChildren

      ViewChildViewChildrenAngular中获取HTML中DOM元素的方法。唯一的区别在于,ViewChild只能获取单个元素,ViewChildren可以获取多个元素。

      使用方法如下:

        需使用 #变量名 的方式绑定DOM标签元素

        在HTML中,如有以下代码:

    1 <div class="image-slider" #ImgSlider>
    2     <img #img [src]="item.imgUrl" [alt]="item.caption" [title]="item.caption" *ngFor="let item of sliders;let i = index">
    3   </div>
    HTML代码

        然后在ts文件中使用@ViewChild、或者@ViewChildren

        @ViewChild('DOM标签变量名')  接收该DOM元素的变量名:ElementRef

        @ViewChildren('DOM标签变量名')  接收该DOM元素的变量名:QueryList<ElementRef>

        <>表示一个泛型,QueryList<ElementRef>表示的意义是一个QueryList数组,里面存放ElemnrtRef类型的数据

      然后便有了以下代码:

    1   @ViewChild('ImgSlider',{static: true}) imgSlider: ElementRef;
    2   @ViewChildren('img') imgs: QueryList<ElementRef>;
    TypeScript代码

    小虾米于今日遇见颇多bug,运功受阻,浪费时光,着实可惜。然失误之中仍有所得,也算进步一些~

    离大侠再近一步!
  • 相关阅读:
    Linux操作篇之配置Samba
    Chrome扩展实现网页图片右键上传(以E站图片搜索为例)
    Linux开机自动挂载NFS配置的一个误区
    ffmpeg指令解读海康威视摄像头
    linux服务器性能调优之tcp/ip性能调优
    多线程程序设计中的8条简单原则
    初识文件系统
    socket中的listen到底干了哪些事情?
    ip面向无连接?TCP面向连接?HTTP连接方式?
    网络层和数据链层的区别
  • 原文地址:https://www.cnblogs.com/Samo-Li/p/13566499.html
Copyright © 2020-2023  润新知