【发布时间】:2020-07-08 05:43:16
【问题描述】:
基本上情况是,我正在使用 EventEmitter 将变量的值向上移动到其祖父组件(直到现在它工作正常)。
但是一旦值到达祖父母,我想将该值传递给它的另一个子组件。我在子组件中使用@input name:string 来做这件事。但不知道为什么我无法在该子组件中获得该名称。
父母 =>
//html code
<personal-section (childName)="getName($event)"></personal-section>
<profile-section [name]="name"></name>
//inside profile.ts
getName($event) {
console.log(this.name); // <--- upto this console, program works fine
this.name= $event;
}
孩子 =>
@Input() name: any;
ngOnChanges() {
if (this.name) {
console.log('users name is ', this.name); //<--this never prints.
}
}
但是每当我在孙子组件中执行点击事件时,值都会完美地达到其祖父级。但在那之后,我无法将它放入另一个孩子,即最终目的地;)
提前致谢。
【问题讨论】:
-
1.将
getName($event)替换为getName(event),控制器中不需要$。 2. 请在getName(event)中创建event的console.log 并将结果发布到问题中。 -
@Michael D 谢谢你的回复。正如你所说,我已经做出了改变。但我没有在那个孩子身上得到那个价值 :)
-
我已经发布了答案。请看看它是否适合你。
标签: angular typescript