angular - Angular 8:如何避免父子逻辑重复
问题描述
我在父控制器中有常见的请求。我还阅读了请求的路由器参数。对于孩子,我有不同的请求,但我需要从路由器读取相同的参数 - 结果我得到重复的代码。
对于父母和孩子:
this.param1 = this.route.snapshot.paramMap.get('param1');
this.param2 = this.route.snapshot.paramMap.get('param2');
和 param1 和 param2 相同的初始化。
通过使用儿童
<router-outlet></router-outlet>
通过服务连接父母和孩子。
有更好的方法来避免这种情况吗?将参数的阅读移至服务并订阅它?但我仍然有变量的初始化。或者也许创建公共类并将其添加到父子类的实现中?
解决方案
你有两个选择,或者像你说的那样创建一个服务并在那里处理参数逻辑,然后只导入服务并使用带有参数值的变量。或者您可以使用事件发射器将值从父级传递给子级,有关事件发射器的更多信息,请查看文档
推荐阅读
- excel - VBA 搜索文本框和填充列表框
- jquery - 没有在ajax成功中刷新数据表
- mysql - 将数据从本地存储发送到在线数据库 mysql (Nodejs)
- node.js - 使用 node.js 的猫鼬中不推荐使用的函数
- javascript - 有效大括号 - CodeWars 挑战
- dll - 如何从 Autohotkey 调用 Dll?
- shell - 如何在 Ubuntu 18.04 服务器信息亭模式下仅通过 grub2 主题显示引导徽标?
- oracle - 如何使用下拉菜单插入表格
- linux - 如何修改标准的linux命令?
- c# - 从 C# 中调用 Delphi DLL 函数关于数据类型编组的问题(char 数组/整数数组)