• --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,运功受阻,浪费时光,着实可惜。然失误之中仍有所得,也算进步一些~

    离大侠再近一步!
  • 相关阅读:
    几种 HtmlEncode 的区别
    Javascript 编程风格
    asp.net ckeditor 无法获取值
    Silverlight:Deep Zoom 文件格式概述
    js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
    什么是 HTTP Headers?
    ServerVariables
    SQL Server 查询不重复id的数据记录
    因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件
    浏览器鼠标手势原理简析
  • 原文地址:https://www.cnblogs.com/Samo-Li/p/13566499.html
Copyright © 2020-2023  润新知