【问题标题】:How can I get a parameter from the URL in my components constructor using ActivatedRoute如何使用 ActivatedRoute 从组件构造函数中的 URL 获取参数
【发布时间】:2017-09-10 20:55:25
【问题描述】:

我目前在我的构造函数中这样做:

this.articleSlug = _route.url._value[1].path;

但是 TypeScript 不喜欢它:

Property: "_value" does not exist on type Observable<Params>

有没有更清洁的方法?我正在使用带有 TypeScript 和 webpack 的 Angular 4。

这适用于我在构造函数中使用:_route: ActivatedRoute。

【问题讨论】:

  • 你能扩展一下“不喜欢它”吗?
  • 我在上面添加了错误
  • 我假设_route 是ActivatedRoute 类型?如果是这样你可以试试:this._route.queryParams.subscribe( params =&gt; { this.articleSlug = params['yourParameter'] || ''});
  • 假设您正在使用ActivatedRoute,其中.url 是一个您应该订阅的可观察对象。看看教程的路由部分:angular.io/docs/ts/latest/tutorial/toh-pt5.html
  • 是的,_route:ActivatedRoute

标签: angular typescript webpack


【解决方案1】:

你需要订阅路由,然后用回调函数提取它。 比如:

_route.url.subscribe(values: UrlSegment[] -> /* url segments are available in values array */)
// or if you need url parameters
_route.params.subscribe(params: Params -> console.log(params['paramName']));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2020-06-21
    • 2017-12-14
    • 1970-01-01
    相关资源
    最近更新 更多