今日完成
学习父子组件如何传递数据,为写分页组件做准备
学习并练习使用生命周期函数
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)
}
评论