加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 从父路径到子路径传递路由参数

发布时间:2020-12-17 17:32:37 所属栏目:安全 来源:网络整理
导读:我的路由结构如下: parent/:id | child | child 我可以通过以下方式从父组件获取参数: ngOnInit() { this.route.params.subscribe((params) = { this.id = +params['id']; });} 然后只需将其作为输入附加到 router-output不知何故?或者我是否必须像对待父
我的路由结构如下:

parent/:id
    |
    child
    |
    child

我可以通过以下方式从父组件获取参数:

ngOnInit() {
  this.route.params.subscribe((params) => {
      this.id = +params['id'];
  });
}

然后只需将其作为输入附加到< router-output>不知何故?或者我是否必须像对待父母一样从每个孩子那里获取价值?

将id param从父组件传递到所有子组件的最佳方法是什么?

解决方法

不幸的是,没有简单的方法来访问父路由参数,并且没有计划将其更改为 #12767,因此唯一的方法是使用service或localStorage进行解决方法,无论您喜欢什么.

class Service {
        public params:Subject<any> = new Subject<any>();

        public next(params):void { this.params.next(params); }
   }

   class Parent {
        constructor(service:Service,route:ActivatedRoute){
             activatedRoute.params.subscribe(params => service.next(params));
        }
   }

   class Child {
        constructor(service:Service){
             service.params.subscribe(params => console.log(params));
        }
   }

以下是组件可以相互通信的一些方法:
https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读