父组件调用子组件 viewChild

父组件调用子组件

  1.在子组件的ts中声明一个变量

    public  lineout:any="你好,我是被父组件调用的子组件"; 

  2.在父组件的html中写入 (引入子组件)   

    <button (click)="parentsClick()">父组件点击调用子组件</button>
    <app-news  #news></app-news>
 
  3.在父组件的ts中引入viewChild
    import { Component, OnInit ,ViewChild} from '@angular/core';
 
  4.在export class HomeComponent implements OnInit{}中声明一个变量进行接收
    @ViewChild("news",{static:false}) news:any;
 
  5.在父组件中完成需要调用的事件
    parentsClick(){
        console.log(this.news.lineout);
     }
 
注释:
  • 在2中的引入引入子组件的时候给子组件一个标记#news,这个标记在父组件中进行变量接收的时候需要用的,如果接收变量有误,不一致,就会出现问题
  • 如果不在父组件中不写一个接收变量的函数体,而是随意写在某个地方,就会报错
  • 在4中如果不给{static:false},在代码中显示中会报错,但是在你打包的时候会报错,同时你使用vsCode的时候,运行代码的时候也会出现报错
 
 
 

猜你喜欢

转载自www.cnblogs.com/rockyjs/p/11927895.html