angular父子组件传值

angular父子组件传值angular父子组件传值父组件到子组件1.父组件传递数据2.子组件接受数据子组件到父组件1.父组件根据ViewChild获取子组件实例2.子组件通过广播的形式,向子组件发送数据子组件操作父组件接收父组件到子组件1.父组件传递数据在父组件中调用子组件,通过[‘属性值’]进行传值//父组件app-home,子组件app-header//父组件中引用子组件,传递title及msg到子组件<app-header[title]=”title”[msg]=”msg”[run]=”run”[h

大家好,又见面了,我是你们的朋友全栈君。

父组件到子组件

1.父组件传递数据

在父组件中调用子组件,通过[‘属性值’]进行传值

//父组件app-home,子组件app-header
//父组件中引用子组件,传递title及msg到子组件
<app-header [title]="title" [msg]="msg" [run]="run" [home]="this"></app-header>

2.子组件接受数据

//增加Input引用
import { 
    Component, OnInit, Input } from '@angular/core';
//
//接收父组件传过来的数据
  @Input() title:any;
  @Input() msg:any;
  //接收方法
  @Input() run:any;
  //接收home组件的this
  @Input() home:any;

//在header中使用获取到的数据
<div>{ 
   { 
   title}} --- { 
   { 
   msg}}</div>
getParentFunc(){ 
   
    this.run();
    console.log(this.home.title)
}

子组件到父组件

1.父组件根据ViewChild获取子组件实例

//父组件app-news 子组件app-top
//父组件中引用子组件
<app-top #top></app-top>
//定义获取子组件信息的方法
<button (click)="getChildMsg()">获取子msg</button>
<button (click)="getChildFunc()">获取子方法</button>

//父组件引用ViewChild
import { 
   HttpClient,HttpHeaders} from '@angular/common/http'
//根据ViewChild获取子组件实例
@ViewChild('top') top:any;
//调用方法,可获取子组件的数据及方法
getChildMsg(){ 
   
    console.log(this.top.msg);
  }
  getChildFunc(){ 
   
    this.top.run();
  }

2.子组件通过广播的形式,向子组件发送数据

父组件app-news 子组件app-top

子组件操作

//子组件引用Output, EventEmitter
import { 
    Component, OnInit, Output, EventEmitter } from '@angular/core';
//获取引用实例
@Output() private outer = new EventEmitter();
//定义方法向父组件传值
setParent(){ 
   
    //向父组件传值
    this.outer.emit("我是子组件的数据")
  }

父组件接收

//在父组件中引用子组件,定义通过(outer)接收数据
<app-top #top (outer)="run($event)"></app-top>
//子组件广播时触发父组件方法,
run(event:any){ 
   
    //此处打印:我是子组件的数据
    console.log(event)
 }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145508.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux虚拟机联网设置详细教程[通俗易懂]

    Linux虚拟机联网设置教程小伙伴们,你们在使用linux期间,是否遇到过需要联网的需求呢。这是一篇教你如何把Linux系统接入互联网的教程,本文介绍了两种联网的方式,适用的场景略有不同,每一种方法的优缺点会在文档中说明,请根据实际环境,自行选择,希望本文能帮助到你。一.环境介绍硬件:联想台式机软件:vmwareworkstation15pro操作系统:Centos7.9二.优缺点对比方法优点缺点桥接模式局域网内,与物理机处于同等位置,占用独立的局域网IP地址

    2022年4月12日
    64
  • pycharm教育版安装教程_pycharm专业版安装

    pycharm教育版安装教程_pycharm专业版安装1.打开百度搜索PyCharm进入官网,我们可以看到左边是专业版,右边是社区版,建议使用专业版,功能比较齐全。2. 双击安装包进行安装。自定义软件安装路径(建议路径中不要中文字符)。3.选择开始菜单文件夹(默认即可),点击安装。耐心等待安装。4.安装完成,勾选立即运行PyCharm。5.选择是否导入开发环境配置文件,我们选择不导入。6.阅读协议并同意7.如果有学生的edu邮箱的话可以免费使用…

    2025年6月7日
    4
  • 想自学Java的速来!孙鑫视频教程百度云盘

    想自学Java的速来!孙鑫视频教程百度云盘MySQL数据库最佳学习线路脑图:一、对MySQL的认识认识Mysql数据库下载安装MySQL软件在Linux系统环境下安装MySQLMySOL体系结构与存储引擎MySQL体系结构QueryCache详解存储引擎InnoDB体系结构InnoDB的三大特性.数据库文件参数文件参数类型错误日志文件(errorlog)二进制日志文件(binarylog)慢查询日志(slowlog)全量日志(generallog)审计日志(auditlog)

    2022年5月16日
    36
  • matlab之length函数[通俗易懂]

    matlab之length函数[通俗易懂]1、size获取数组的行数和列数2、length数组长度,即行数和列数中的较大值,相当于max(size(a))3、numel返回元素总数

    2022年4月27日
    100
  • JAVA中类的public class与class的区别详解

    JAVA中类的public class与class的区别详解1.类的访问权限为了控制某个类的访问权限,修饰词必须出现在关键字class之前。例如:publicclassStudent{}在编写类的时候可以使用两种方式定义类:(A)publicclass定义类(B)class定义类2.publicclass定义类如果一个类声明的时候使用了publicclass进行了声明,则类名称必须与文件名称完全一致。被publ…

    2022年6月10日
    32
  • 组装服务器注意事项

    最近做虚拟化工作需要,为公司组装了一台服务器。把过程经验介绍一下:推荐:http://www.cnblogs.com/roucheng/p/texiao.html

    2021年12月27日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号