typescript – 如何从angular2的url查询参数?
发布时间:2020-12-17 08:44:49 所属栏目:安全 来源:网络整理
导读:我使用angular2.0.0-beta.7。当一个组件加载在路径“/ path?query = value1”时,它被重定向到“/ path”。为什么GET param被删除?如何保存参数? 我在路由器有一个错误。如果我有一条主路线 @RouteConfig([ { path: '/todos/...',name: 'TodoMain',compon
我使用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¶m2=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教程的一节) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 角ui路由器转到URL
- 在bash中,如何将一个功能键绑定到一个命令?
- ANGULAR6.x - 错误随笔 - Can't bind to 'formGrou
- 在Mac OS X上从boot2docker迁移到Vagrant NFS的最快方法是什
- 为什么angularjs bootstrap datepicker在前一天选择?
- 如何使用ng2-datepicker for angular 2 app
- (Angular Material)用Autocomplete打造带层级分类的DropD
- Scala语言学习
- Redis持久化
- bzoj E. Bash Plays with Functions