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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HIBERNATE学习笔记

    HIBERNATE学习笔记

    2021年5月7日
    127
  • 协程高并发 – asyncio异步

    协程高并发 – asyncio异步aoao 快的协程

    2025年7月2日
    0
  • vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」

    vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」在SAN存储系统中,LIO是把存储设备直接转化为可用存储资源的高效工具,它实现了基于文件/块设备/ramdisk甚至回环设备创建存储设备的iscsitarget接口和CLI。通过iSCSIinitiator访问iSCSItarget的典型应用场景和联接如下图所示意:上图非常直观地显示了基于ram、/dev/下的设备以及文件,创建iSCSItarget的数据流。如果更深入地再往下看,可以看到它和…

    2022年5月19日
    31
  • Fastjson 对象或数组转JSON

    Fastjson 对象或数组转JSONFastjson对象或数组转JSONw3cshool:https://www.w3cschool.cn/fastjson/Fastjson对象或数组转JSON:https://www.w3cschool.cn/fastjson/fastjson-ex1.htmlFastjson阿里巴巴工程师开源的一个json库:Fastjson,这个库在解析速度和易用性上来说都很不错。在日志…

    2022年6月21日
    24
  • 常见的预测模型及算法「建议收藏」

    常见的预测模型及算法「建议收藏」如果得到一份数据集,任务是要预测出一系列的值,而在预测任务中,我们大多数都采用的是拟合的方法,这篇文字主要介绍三种预测方法时间序列分析,灰色预测模型,神经网络。时间序列分析时间序列也叫动态序列,数据是按时间和数值性成的序列。而时间序列分析有三种作用,大致可以描述为描述过去,分析规律,预测将来。接下来将会讲到三种模型(季节分解,指数平滑,ARIMA模型)。一般情况下时间序列的数值变化规律有四种…

    2022年6月23日
    28
  • git的基本使用方法「建议收藏」

    git的基本使用方法「建议收藏」git的基本使用方法什么是git?git是目前世界上最先进的分布式版本控制系统。git与SVN的最主要区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候用的都是自己的电脑,所以开始工作之前需要从中央服务器那里获取最新的版本,然后开始工作,工作完后,需要把自己所做的工作推送到中央服务器。集中式版本控制系统必须要联网才能工作,如果在局域网中,有足够的宽带,运行速度…

    2022年6月29日
    22

发表回复

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

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