发表于: 2020-05-16 20:27:50

1 2176


今日完成

学习父子组件如何传递数据,为写分页组件做准备


学习并练习使用生命周期函数


demo


父组件创建两个变量,并根据size生成数组

  public data: any = {
    'size': 10,
    'total': 20,
  }

  public list: Array<string= this.creatList();


  creatList() {
    let num: number = this.data.size;
    var arr: Array<string= [];
    for (let i = 0; i < num; i++) {
      let str = i + ''
      arr.push(str)
    }
    return arr;
  }



父组件根据 根据数组list循环渲染

<p *ngFor="let a of list">{{ a }}</p>

<hr />


<app-son 

(pageData)="onPageData($event)"  //父组件监听子组件的事件

[data]="data" [list]="list"  //通过输入型绑定把数据从父组件传到子组件

</app-son>



子组件页面点击事件

<button (click)="Fn1()">按钮</button>


子组件 导入相关内容

import { Component, EventEmitter, Output, OnInit, Input } from '@angular/core';
//导入从父元素获取的数值

@Input() data: any;
@Input() list: any;
//输出事件
@Output() pageData = new EventEmitter();

//点击方法

Fn1() {
    let a = 5;
    this.pageData.emit(a);
  }
//打印获取的值

 ngAfterViewInit() {
    console.log('下面是子组件获取父组件的data值')
    console.log(this.data)
    console.log(this.list)
  }

父组件  监听事件

  onPageData(sonData) {

    this.data.size = sonData;

    //size改变 同时改变数组

    this.list = this.creatList();
    console.log('下面是改变数据后的父组件数据')
    console.log(this.data)
    console.log(this.list)
  }






返回列表 返回列表
评论

    分享到