如何将选择器标记之间的数据从一个组件传递到另一个组件

时间:2017-12-19 13:37:20

标签: angular angular-cli angular2-directives

我有2个组件,

组件A:

<app-selector [test]="title"></app-selector>
export class AssignerComponent implements OnInit {
    title:any = 'get';
    constructor() {}
 }

组件B:

export class SelectorComponent implements OnInit {
@Input() test:any;
    constructor() {
        console.log(this.test)
    }
}

但是无法从A中获得组件B中的测试值。它是未定义的。任何人都可以建议我帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

这是通过test输入将数据从组件A传递到组件B的正确方法。但是,您看到undefined的值为this.test,因为您正尝试从constructor将其记录到控制台,这是在它设置为您传递的值之前。

如果将console.log(this.test)语句移到ngOnInit方法,您将看到所需的行为:

  Component B:
  export class SelectorComponent implements OnInit {
    @Input() test:any;
    constructor() {}
    ngOnInit() {
      console.log(this.test);
    }
  }

以下是有关生命周期钩子以及Angular组件创建方式的更多信息:https://angular.io/guide/lifecycle-hooks