0

我正在使用 ng-template 将内容传递给子组件,但我希望从子组件中获取所选项目的特定值

我也有一个大子组件,值从大子组件发出到子组件,然后到父组件。

虽然我可以获得选定的值,但它为完整的 ng-template 呈现相同的值

例如:如果我点击最后一个 div,所有 Selected 值都变为“3”

在此处输入图像描述

您可以在stackblitz下面有更好的想法

https://stackblitz.com/edit/angular-rfvkoj

编辑:我怎样才能让它呈现特定的选定值?

4

1 回答 1

0

它按预期工作。它呈现相同的值,因为您{{selected}}在模板的每次迭代中都呈现,并selected设置为从ChildComponent. 你期望它呈现什么?

@Input顺便说一句,用于通过多个级别(从父级到子级到孙子级)发送数据是一种糟糕的模式。这很快变得难以管理。即使您非常小的代码示例也已经难以理解。

我建议您改用在父级提供的共享服务

@Component({
  ...
  providers: [MyService]
})
export class ParentComponent {
  ...
}

然后,您可以将该服务注入父级和孙级,并使用该服务来跟踪状态。

于 2019-10-08T20:29:01.620 回答