首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递多个参数时,Angular 2路由器无法正常工作

传递多个参数时,Angular 2路由器无法正常工作
EN

Stack Overflow用户
提问于 2016-07-02 01:55:30
回答 2查看 11.1K关注 0票数 6

我创建了一个示例柱塞器,将多个参数传递给下一页,但它不起作用。这是在点击项目后危机中心路由不起作用的柱塞演示。

http://plnkr.co/edit/ngNSsKBzAuhaP0EjKVJX?p=preview

代码语言:javascript
复制
 onSelect(crisis: Crisis) {
    // Navigate with Absolute link
    //this.router.navigate(['/crisis-center', 1]); //this is working.
     this.router.navigate(['/crisis-center', { id: '1', id2:'2'}]); //this is not working
    }

//路由如下:

代码语言:javascript
复制
//{ path: 'crisis-center/:id', component: CrisisDetailComponent } //-- this is working
  { path: 'crisis-center/:id /:id2', component: CrisisDetailComponent}, // this is not working

ngOnInit() {
    this.sub = this.route
      .params
      .subscribe(params => {
        let id = +params['id'];
        let id2 = +params['id2']; //Unable to read id and id2 values
        this.service.getCrisis(id)
          .then(crisis => {
            if (crisis) {
              this.editName = crisis.name;
              this.crisis = crisis;
            } else { // id not found
              this.gotoCrises();
            }
          });
      });
  }

我有三个层次的导航,从危机中心移动到危机细节,然后从清晰的细节->事务细节。因此,在我导航到crisis details之后,我想要传递crisisId和crisisdetailId来遍历回到detail,然后遍历crisis list。

我试图在这里传递多个参数。

另外,我想从浏览器URL中隐藏URL参数,并显示别名,以前的'as‘关键字现在不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-02 02:15:52

你在crisis-center/:id /:id2的中间有一个空格

这是working plunker

票数 5
EN

Stack Overflow用户

发布于 2016-07-21 04:00:52

使用路由器组件(从'@angular/router',而不是从'@angular/router-deprecated'),)可以传递多个参数,如下所示:

代码语言:javascript
复制
this.router.navigate(['/crisis-center', 1, 2]);

你正试着这么做:

代码语言:javascript
复制
this.router.navigate(['/crisis-center', { id: '1', id2:'2'}]); //this is not working

因为您已经传递了一个对象作为第二个参数,所以您传递的是查询参数而不是路由器参数。因此,它的URL是:

代码语言:javascript
复制
localhost:3000/crisis-center;id=1&id2=2

你可以在这里阅读更多信息:https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38151377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档