angular2+中组件通信(组件交互)的几种方式

组件通信及两个或者多个组件之间共享信息的方法;

组件之间通信分为以下几种情况:

    1、父组件向子组件传递数据;

    2、 子组件向父组件传递数据;

    3、非嵌套组件之间的通信;

下面将详细说明如何实现这几种通信

父组件向子组件传递数据:属性绑定方式([属性名])

 子组件中通过@Input 装饰器自定义属性,父组件绑定这个属性。

 子组件实现:

import { Component, OnInit,Input } from '@angular/core';

@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  styleUrls: ['./child.component.css']
})
export class ChildComponent implements OnInit {
  @Input() private data: any;//data名字根据引用场景自定义
  constructor() { }
  ngOnInit() {
  }
}

父组件实现:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-parent',
  template: `<app-child [data]="dataToChild"></app-child>`,
  styleUrls: ['./parent.component.css']
})
export class ParentComponent implements OnInit {
  private dataToChild: string = ' I am parent';
  constructor() { }
  ngOnInit() {
  }
}

  子组件向父组件传递数据:事件绑定 父组件监听子组件事件

    子组件使用EventEmitter创建自定义事件,并且通过@Output()装饰器把它作为属性暴露出来,父组件通过绑定这个属性来监听事件从而获取子组件数据。

   子组件实现:

import { Component, OnInit} from '@angular/core';
@Component({
  selector: 
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值