【问题标题】:Angular 8: How avoid duplicate logic for parent and childAngular 8:如何避免父子逻辑重复
【发布时间】:2019-12-02 16:20:37
【问题描述】:

我在父控制器中有常见的请求。我还阅读了请求的路由器参数。 对于孩子,我有不同的请求,但我需要从路由器读取相同的参数 - 结果我得到了重复的代码。

对于父母和孩子:

this.param1 = this.route.snapshot.paramMap.get('param1');
this.param2 = this.route.snapshot.paramMap.get('param2');

param1 和 param2 的初始化方法相同。

通过以下方式使用子级

<router-outlet></router-outlet>

通过服务连接父母和孩子。

有更好的方法来避免这种情况吗?将参数的阅读移至服务并订阅它?但我仍然有变量的初始化。或者也许创建公共类并将其添加到父子类的实现中?

【问题讨论】:

  • 路由:ActivatedRoute 已经是一个服务
  • @Ininiv 因为它是服务 :) 问题不仅在路由器中。父母和孩子对不同的请求使用相同的逻辑 - 我只是想避免重复代码

标签: angular typescript


【解决方案1】:

你有两个选择,或者像你说的那样创建一个服务并在那里处理参数逻辑,然后只导入服务并使用带有参数值的变量。或者您可以使用事件发射器将值从父级传递给子级,有关事件发射器的更多信息,请查看docs

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2020-08-12
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    相关资源
    最近更新 更多