Angular组件传值

父传子(使用自定义属性)

1.父组件引入子组件

<child-component [msg]='msg'></child-component>

2.子组件引入input模块

@input() msg:any//在子组件中使用接收

3.父组件向子组件不仅可以传值也可以传方法甚至可以通过this关键字将整个父组件传过去

//父组件
<app-child [msg]='msg'></app-child>
//子组件
//引入input模块
import { Component, OnInit,Input } from '@angular/core';
//获取传值
@Input() msg:any

子传父

第一种

1.引入子组件,在子组件上加上id,这样可以在父组件逻辑层中可以找到它
2.在父组件中引入ViewChild模块,父组件可以通过@ViewChild('#id') chiidData:any接收

//父组件
<app-child #childCom></app-child>
import { Component, OnInit,ViewChild } from '@angular/core';
 @ViewChild('childCom') childRoot:any
//就可以通过this.childRoot.****访问子组件中的属性和方法了
第二种(使用事件驱动,类似vue的自定义事件)
//子组件
//1.引入驱动模块
import { Component, OnInit,Output,EventEmitter } from '@angular/core';
//2.定义输出事件
 @Output() public goOut=new EventEmitter()
//3.触发输出事件传值
this.goOut.emit('pppp')
//父组件
<app-child (goOut)='goDie($enent)'></app-child>
//goDie(e){}接收传值(e就是子组件传过来的值)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 子组件获取父组件数据和方法 在父组件中挂载子组件,通过绑定属性的方法绑定传递给子组件的数据(属性,方法,包括父组件...
    MrSong_176r阅读 608评论 0 0
  • 父子组件通信传值的方式有三种:@Input,@Output,@ViewChild。按照顺序来分享各自的不同: 一:...
    小话001阅读 6,569评论 0 4
  • # 1:@Input 步骤: 1:父组件调用子组建时传方法 2:在子组件引入Input 3:在子组件声明,通过In...
    __凌阅读 724评论 0 0
  • 页面给组件传值 页面调用组件 的时候传入数据 组件引入 Input 模块,接收页面传过来的数据 import { ...
    咔簌阅读 1,783评论 0 1
  • 随着项目体系的庞大,任何前端框架都少不了组件之间得通信与传值。 一. 父传子 在父组件ts中定义一个数据list ...
    learninginto阅读 440评论 0 4