【问题标题】:Angular 2 get router params in modal windowAngular 2在模态窗口中获取路由器参数
【发布时间】:2016-12-27 18:13:08
【问题描述】:

我正在尝试在我的模态窗口组件中获取路由参数,以便通过以下代码在 REST 服务中使用它们

this.activatedRoute.parent.params

但出现错误 - 无法读取 null 的属性“参数”

我正在记录 this.activatedRoute ,url === ''

也许有人已经遇到过这样的问题,并且能够告诉如何在模态窗口中获取 URL?

提前致谢

【问题讨论】:

  • 或者也许是正确的解决方案 - 只需从父组件传输 URL?
  • 这个问题通过服务很容易解决,但是我很想找angular方式解决
  • 你能发布一些你如何呈现模态的代码,也许是一个例子 plunkr
  • 我正在使用自定义模式服务,带有角度 ComponentFactoryResolver、ComponentFactory、ComponentRef
  • cant edit prev comment ---> 我正在使用自定义模式服务,带有角度 ComponentFactoryResolver、ComponentFactory、ComponentRef 在这里找到解决方案 - angular.io/docs/js/latest/api/router/index/… 或其他解决方案 - 只需在打开时将数据发送到模式服务modal 事件,如果您的服务支持这一点 - 实际上我很遗憾,因为模态窗口是通过 activateRoute 单独路由的,因此无法获取 url,它是隐藏属性

标签: angular typescript angular2-routing


【解决方案1】:

我正在使用 RouterStateSnapshot here

找到解决方案

另一种方式 - 实际上我做到了 - 如果您的服务支持,则在打开模式事件时将 URL 发送到模式服务

openModal() {
    this.modalService.open(CreateModalComponent, { id: this.id });
  }

从父组件的 observable 中获取静态 id

.do(id => { this.id = id; });

【讨论】:

  • .do 做什么?并且链接不起作用。还有一点就是函数open的另一个参数是NgbModalOptions类型,不能给它添加其他属性。
猜你喜欢
  • 2016-10-28
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2017-07-16
  • 2016-12-28
  • 2018-08-10
相关资源
最近更新 更多