我正在使用ng-template将内容传递给子组件,但我希望从子组件中获取选定项的特定值
我也有一个大子级组件,该值从“大子级”组件发射到“子级”组件,然后再发射到“父级”组件。
虽然我可以获取选择的值,但是对于完整的ng-template,它会呈现相同的值
例如:如果我单击上一个div,则所有“选定值”都变为“ 3”
您可以在stackblitz下查看更好的主意
https://stackblitz.com/edit/angular-rfvkoj
编辑:如何让它呈现特定的选定值?
答案 0 :(得分:0)
它正在按预期工作。它呈现相同的值,因为您在模板的每次迭代中都呈现{{selected}}
,并且selected
设置为从ChildComponent
发出的最新值。您希望它呈现什么?
顺便说一句,使用@Input
通过多个级别(从父级到子级到孙级)发送数据是一种糟糕的模式。这很快变得难以管理。甚至您很小的代码示例也已经很难理解。
我建议您使用父级提供的共享服务
@Component({
...
providers: [MyService]
})
export class ParentComponent {
...
}
然后可以将该服务注入到父母和孙子女中,并使用该服务来跟踪状态。