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


相关推荐

  • TDD、FDD是什么意思?

    TDD、FDD是什么意思?TDD、FDD指第三代移动通信技术(3G)中的两种双工通信模式。TDD(Time-divisionDuplex)模式指时分双工模式,3G标准中的TD-SCDMA采用此双工模式;FDD(Frequency-divisionDuplex)模式指频分双工模式,3G标准中的WCDMA和CDMA2000采用此模式。一、工作原理TDD是一种通信系统的双工方式,在移动通信系统中用于分离接收…

    2022年4月27日
    44
  • 新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)

    新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)文章目录一、前言二、关于PackageControl三、安装PackageControl1、办法1:通过命令行安装(需联网)2、办法2:直接拷贝插件包文件到InstalledPackages目录四、通过PackageControl安装插件(需联网)五、无网络环境下安装插件六、lua开发环境插件安装一、前言Sublime具有良好的扩展能力,具有非常多好用的扩展插件,本文我教大家如何给Sublime安装插件。二、关于PackageControl我们要给Sublime安装插件,就需要先安装Pac

    2022年6月24日
    36
  • MT4安卓版下载安装

    MT4安卓版下载安装投资者安卓手机可以使用MT4软件吗?答案是:当然可以。MT4软件作为投资者通用的交易软件mt4.M1.xinclo.xyz涵盖了多个版本,电脑版MT4、手机版(包含IOS和安卓)MT4、MAC版MT4。如果是安卓手机,下载和安装安卓版的即可。安卓手机是无法在应用商店搜索到MT4的,因此大多都在网页上先获取安装包。下载交易软件,该软件商店中的移动终端。点击安装,软件会存储在手机桌面上,主界面上会显示MT4交易系统软件。…

    2022年8月15日
    5
  • python导入excel数据画散点图_excel折线图怎么做一条线

    python导入excel数据画散点图_excel折线图怎么做一条线目的:读取excel文件中的数据,绘制折线图、散点图安装环境:由于我使用的是Anaconda集成的环境所以不用安装模块,直接导入就行importpandasaspdimportmatplotlib.pyplotasplt绘制简单折线pandas操作Excel表单数据准备,有一个Excel文件:lemon.xlsx有两个表单,表单名分别为:Python以及student,Python的表单数据如下所示:student的表单数据如下所示:…

    2022年9月26日
    0
  • navicat for mysql 15.4 激活码_通用破解码

    navicat for mysql 15.4 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    151
  • DeviceIoControl解读

    DeviceIoControl解读设备驱动程序可以被当作内核模式函数包来看待,I/O控制代码就是用来指定访问其中的哪个函数的。DeviceIoControl函数的dwIoControlCode参数就是这个代码,它指出了我们需要进行的操作,以及如何进行操作。 控制代码是32位数字型常量,可以CTL_CODE宏来定义,它们定义在winioctl.inc和ntddk.inc文件中。 控制代码中各数据位字段的含义如下: ◎

    2022年9月6日
    2

发表回复

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

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