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


相关推荐

  • uat测试环境是预生产环境_php开发环境与测试环境

    uat测试环境是预生产环境_php开发环境与测试环境开发环境:开发环境是程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告。测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。生产环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。可以理解为包含所有的功能的环境,任何项目所使用的环境都以这个为基础,然后根据客户的个性化需求来做调整或者

    2022年9月30日
  • idea2021激活码获取-激活码分享

    (idea2021激活码获取)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
  • android之cannot convert from Fragment1 to Fragment

    在写一个音乐播放器的时候,用到了fragment,结果在需要返回Fragment的方法里面,无法将Fragment1(Fragment的子类)强制转换成Fragment,很是纳闷,我是参照一个开源代码来做的,源码里面很正常,我这里却报错,后来才发现,是对包的导入出现了差错,在Fragment1中导入的是android.app.Fragment而在出错的那个类里面是用android.su

    2022年3月9日
  • Android触摸事件_wpf触摸屏点击事件

    Android触摸事件_wpf触摸屏点击事件&amp;lt;Buttonandroid:layout_width=&quot;wrap_content&quot;android:layout_height=&quot;wrap_content&quot;android:id=&quot;@+id/start&quot;android:text=&quot;开始&quot;/&amp;gt;

    2022年9月10日
  • 运行时常量池与字符串常量池_常量池是什么

    运行时常量池与字符串常量池_常量池是什么文章目录1)方法区包含哪些内容?2)运行时常量池存在什么地方?3)取消永久代后,方法区的实现?4)字符串常量池和运行时常量池究竟去了哪里?4)元空间是什么?5)关于为什么移除永久代?5)补充        我们知道在JDK1.8中取消了永久代,区而代之使用了元空间来实现方法区。话虽如此,但是关于字符串常量池和运行时常量池的模棱两可的说法一直都是争论不休的。1)方法区包含哪些内容?方法区包含哪些内容,摘录自《java虚拟机规

    2022年7月28日
  • QUIC简单介绍

    QUIC简单介绍

    2021年12月16日

发表回复

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

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