angular ViewChild操作DOM和父子组件通讯

一:ViewChild操作DOM

1. 绑定元素

使用  #别名 和要操作的元素进行绑定

 
使用ViewChild获取DOM操作

 

2. 在对应的.ts文件引入ViewChild;

  在export中声明变量接收绑定元素;

  在ngAfterViewInit(){}中this调用;

     设置static: true将不允许您从动态模板分辨率(例如*ngIf)获得结果。

angular ViewChild操作DOM和父子组件通讯_第1张图片

 

 

 

 

 

二:子组件向父组件传递信息

通过ViewChild绑定子组件,在父组件中以操作DOM的形势操作子组件

1️⃣使用  #别名 和要操作的元素进行绑定 

// 在父组件的.html文件中添加子组件,定义 #变量

 

2️⃣在对应的.ts文件引入ViewChild;

  在export中声明变量接收绑定元素;

  在ngAfterViewInit(){}中this调用;

     设置static: true将不允许您从动态模板分辨率(例如*ngIf)获得结果。

angular ViewChild操作DOM和父子组件通讯_第2张图片

 

 

 

 

 

 

 

三:父组件向子组件传递信息

1.父组件向子组件传递参数 

1️⃣ 在父组件的.html文件里面的子组件标签绑定参数变量;

/*
header是home的子组件
*/
"title">

 

2️⃣ 在父组件的.ts文件里面的子组件标签绑定参数变量;

export class HomeComponent implements OnInit {
    
// 要传入子组件header的数据
  public title:string = '我是首页组件传入子组件header的标题'

  constructor() { }
  ngOnInit() {
  }
}

 

3️⃣在子组件的.ts文件引入Input组件;然后定义一个变量 (@Input()  变量名) 接收父组件传入的参数

angular ViewChild操作DOM和父子组件通讯_第3张图片

 

2.子组件调用父组件的方法

1️⃣在父组件的.html文件里面的子组件标签绑定要传到子组件的方法名;

/*父组件传入子组件的方法名为 fatherFunction
*/
"fatherFunction">

 

2️⃣在父组件的.ts文件里面的子组件标签绑定方法;

angular ViewChild操作DOM和父子组件通讯_第4张图片

 

3️⃣在子组件的.ts文件引入Input组件;然后定义一个变量 (@Input()  变量名) 接收父组件传入的方法名

angular ViewChild操作DOM和父子组件通讯_第5张图片

 

 

3.把整个父组件传给子组件

1️⃣在父组件的.html文件里面的子组件标签绑定this;

/*把父组件home传给子组件header(this就是整个父组件)
*/
"this">

 

2️⃣在子组件的.ts文件引入Input组件;然后定义一个变量 (@Input()  变量名) 接收父组件

angular ViewChild操作DOM和父子组件通讯_第6张图片

 

转载于:https://www.cnblogs.com/pan5008/p/11434555.html

你可能感兴趣的:(javascript)