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