typescript – 如何从angular2的url查询参数?

前端之家收集整理的这篇文章主要介绍了typescript – 如何从angular2的url查询参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用angular2.0.0-beta.7。当一个组件加载在路径“/ path?query = value1”时,它被重定向到“/ path”。为什么GET param被删除?如何保存参数?

我在路由器有一个错误。如果我有一条主路线

@RouteConfig([
  {
      path: '/todos/...',name: 'TodoMain',component: TodoMainComponent
  }
])

和我的孩子路线喜欢

@RouteConfig([
  { path: '/',component: TodoListComponent,name: 'TodoList',useAsDefault:true },{ path: '/:id',component: TodoDetailComponent,name:'TodoDetail' }
])

我不能在TodoListComponent中得到参数。

我可以得到矩阵

params("/my/path;param1=value1;param2=value2")

但我想要经典

query params("/my/path?param1=value1&param2=value2")
Angular 2.0 FINAL解决方案。看来RouteParams已被弃用。试试这个:
import {Router,ActivatedRoute,Params} from '@angular/router';
import {OnInit,OnDestroy,Component} from '@angular/core';

@Component({...})
export class MyComponent implements OnInit,OnDestroy {

  constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    // subscribe to router event
    this.activatedRoute.params.subscribe((params: Params) => {
        let userId = params['userId'];
        console.log(userId);
      });
  }

}

如果要获取查询参数,请将this.activatedRoute.params替换为this.activatedRoute.queryParams

关于解除注册的注意事项

@Reto和@ codef0rmer已经正确地指出,根据官方文档,在这个实例中,组件onDestroy()方法中的unsubscribe()不是必需的。这已从我的代码示例中删除。 (请参阅我需要取消订阅吗?this教程的一节)

原文链接:https://www.f2er.com/angularjs/146034.html

猜你在找的Angularjs相关文章