Angular2 路由。请求的路径在索引 1 处包含未定义的段

Posted

技术标签:

【中文标题】Angular2 路由。请求的路径在索引 1 处包含未定义的段【英文标题】:Angular2 Routing. The requested path contains undefined segment at index 1 【发布时间】:2017-09-03 12:02:54 【问题描述】:

我在 Angular 2 中遇到路由问题。 我将 router.navigate 从操作调用到数据表中。罕见的是,有时当我单击调用此行的按钮时,它可以正常工作,有时却不行。

this.router.navigate(['edit', id], relativeTo: this.activatedRoute);

显示检查器元素的错误是:

The requested path contains undefined segment at index 1

我正在使用 Angular2、DataTables 和 Webpack

【问题讨论】:

更新 -> 问题是有时读取 id 有时没有。所以问题出在数据表上。 【参考方案1】:

我遇到了同样的问题。基本原因是,它没有找到该项目的链接(网址)。即

之前

 
    e2eId: '1',
    title: 'myTitle',
    link: null,
    icon: 'icon',
    isActive: false,
   

之后


    e2eId: '1',
    title: 'myTitle',
    link: '/somelinehere',
    icon: 'icon',
    isActive: false,
   

这个问题也可能由于 id 的 Null 值或其他具有 null 值的东西而出现。

【讨论】:

【参考方案2】:

我遇到了同样的问题。当我检查传递给导航函数的值时,我发现我的 url 未定义。实际上,主要问题是我试图在数据准备好之前导航。您必须首先检查您的数据是否已准备好传递。就像等待一个事件或订阅另一个回调一样。

【讨论】:

【参考方案3】:

可能你的id 传入navigateundefinednull.console 你的id 并修复然后传入导航。我有同样的问题并修复它。

【讨论】:

以上是关于Angular2 路由。请求的路径在索引 1 处包含未定义的段的主要内容,如果未能解决你的问题,请参考以下文章

快速入门!详解 Angular2 路由的分类及使用!

Angular2 相对路径在警卫中导航

获取在 IIS 7.5 上工作的 Angular2 路由

Angular 2 可选路由参数

Angular 2 路由器使用 Observable 解析

java编程时,要用到一个方法,但忘了它所处包名或类名,不知道应该用import导入哪个包(类),这时怎么办?