Angular4_组件之间传值

子组件html

< a * ngIf= "currentNodeStatus !== '0'" ( click)= "navigateDetail(deliveryId,currentNodeStatus,nextNodeStatus)" style= " cursor:pointer;" > < img src= "{{imgUrl}}" width= "32px" > a > 子组件 .ts

@ Output() onSelectIcon = new EventEmitter< any>(); @ Input() deliveryId : string; @ Input() currentNodeStatus : string; @ Input() nextNodeStatus : string;

父组件 html

< td class= "iconText" > < appc-deliveryProgress ( onSelectIcon)= "onGridSelected('delivered',od.deliveryId,od.deliveredStatus)" deliveryId= "{{od.deliveryId}}" currentNodeStatus= "{{od.deliveredStatus}}">appc-deliveryProgress
> td >

父组件 .ts

onGridSelected(phase : string, deliveryId : string, phaseStatus : string) { this. router. navigate([ '/deliveryProgressDashboard/progressDashboardDetail'], { queryParams: { 'orderId': deliveryId, 'phase': phase, 'phaseStatus': phaseStatus } }); }


官方文档:

组件之间的交互

Component Interaction

本烹饪宝典包含了常见的组件通讯场景,也就是让两个或多个组件之间共享信息的方法。

要深入了解组件通讯的各个基本概念,在组件通讯文档中可以找到详细的描述和例子。

参见 在线例子 / 下载范例 。

通过输入型绑定把数据从父组件传到子组件。

HeroChildComponent 有两个输入型属性,它们通常带@Input装饰器。

component-interaction/src/app/hero-child.component.ts
  1. import { Component, Input } from '@angular/core';
  2.  
  3. import { Hero } from './hero';
  4.  
  5. @Component({
  6. selector: 'app-hero-child',
  7. template: `
  8. {{hero.name}} says:

  9. I, {{hero.name}}, am at your service, {{masterName}}.

  10. `
  11. })
  12. export class HeroChildComponent {
  13. @Input() hero: Hero;
  14. @Input('master') masterName: string;
  15. }
第二个@Input为子组件的属性名masterName指定一个别名master(译者注:不推荐为起别名,请参见风格指南).

父组件HeroParentComponent把子组件的HeroChildComponent放到*ngFor循环器中,把自己的master字符串属性绑定到子组件的master别名上,并把每个循环的hero实例绑定到子组件的hero属性。

component-interaction/src/app/hero-parent.component.ts
  1. import { Component } from '@angular/core';
  2.  
  3. import { HEROES } from './hero';
  4.  
  5. @Component({
  6. selector: 'app-hero-parent',
  7. template: `
  8. {{master}} controls {{heroes.length}} heroes

  9. [hero]="hero"
  10. [master]="master">
  11. `
  12. })
  13. export class HeroParentComponent {
  14. heroes = HEROES;
  15. master = 'Master';
  16. }
运行应用程序会显示三个英雄:

Parent-to-child


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部