【问题标题】:Updating ng-template from child component从子组件更新 ng-template
【发布时间】:2020-02-06 03:19:47
【问题描述】:

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

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

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

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

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

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

编辑:如何让它呈现特定的选定值?

【问题讨论】:

    标签: angular ng-template ng-content


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2018-08-03
      • 2017-10-15
      • 2020-10-04
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多