我有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中的测试值。它是未定义的。任何人都可以建议我帮忙。谢谢。
答案 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