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


相关推荐

  • 如何选择开源许可证?

    如何选择开源许可证?

    2021年5月27日
    122
  • rsyslog日志管理[通俗易懂]

    rsyslog日志管理[通俗易懂]文章目录简介基本维护核心概念实例配置客户端日志服务器输出日志到mysql简介rsyslog是一个快速的日志处理系统,具有卓越的性能和出色的安全性,采用模块化设计,他可以从各种数据源中接收输入、转换数据再将结果输出到指定的位置。他不仅适用于企业,也适用于小型系统。rsyslog是一个c/s架构,既可以作为日志客户端上报日志,也可以作为服务端接收日志rsyslog是模块化设计,因此很多功能需要…

    2022年9月24日
    2
  • fileinput-图片插件「建议收藏」

    fileinput-图片插件「建议收藏」<linkrel=”stylesheet”href=”{{asset(‘plugins/fileinput/css/fileinput.min.css’)}}”xmlns=”http://www.w3.org/1999/html”><scriptsrc=”{{asset(‘plugins/fileinput/js/fileinput.js’)}}”></s…

    2022年5月29日
    32
  • linux安装jdk环境(多种方式)

    linux安装jdk环境(多种方式)linux系统通用安装通过tar.gz压缩包安装此方法适用于绝大部分的linux系统1、先下载tar.gz的压缩包,这里使用官网下载。进入:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html勾选接受许可协议后选择对应的压缩包,下载完成后上传的linux…

    2025年7月9日
    3
  • soap和wsdl区别说明

    soap和wsdl区别说明WebService实现业务诉求:WebService是真正“办事”的那个,提供一种办事接口的统称。WSDL提供“能办的事的文档说明”:对要提供的服务的一种描述格式。我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型。SOAP提供“请求”的规范:向服务接口传递请求的格式,包括方法和参数等。你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个“请求”的格式的,按…

    2022年7月24日
    9
  • Java String.replace()方法

    Java String.replace()方法用法实例教程,返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar声明以下是java.lang.String.replace()方法的声明public String replace(char oldChar, char newChar)参数oldChar — 这是旧的字符.newChar — 这是新

    2022年3月10日
    152

发表回复

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

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