Angular 如何修复';错误:无法匹配任何路由。URL段:';随便'';

Angular 如何修复';错误:无法匹配任何路由。URL段:';随便'';,angular,angular-ui-router,angular6,Angular,Angular Ui Router,Angular6,在我的角度项目中,我的路线系统有问题。每次调用reset password/:token路由时,我都会收到此错误。 每次我呼叫此路线时,http://localhost:4200/reset-password?token=token_info,浏览器(谷歌浏览器)将我重定向到http://localhost:4200/reset-输入密码,然后返回此错误消息 core.js:1673 ERROR Error: Uncaught (in promise): Error: Cannot match

在我的角度项目中,我的路线系统有问题。每次调用
reset password/:token
路由时,我都会收到此错误。
每次我呼叫此路线时,
http://localhost:4200/reset-password?token=token_info
,浏览器(谷歌浏览器)将我重定向到
http://localhost:4200/reset-输入密码
,然后返回此错误消息

core.js:1673 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'reset-password' Error: Cannot match any routes. URL Segment: 'reset-password' at ApplyRedirects.push../node_modules/@angular/router/fesm5/router.js.ApplyRedirects.noMatchError (router.js:1384) at CatchSubscriber.selector (router.js:1365) at CatchSubscriber.push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchSubscriber.error (catchError.js:34) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80) at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60) at TapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/tap.js.TapSubscriber._error (tap.js:61) at resolvePromise (zone.js:814) at resolvePromise (zone.js:771) at zone.js:873 at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421) at Object.onInvokeTask (core.js:3811) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420) at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188) at drainMicroTaskQueue (zone.js:595)
你能帮我吗?谢谢。

{path:'reset password/:token',…}
对象之前添加
重置密码
作为路由。

您的“reset password”路由需要一个令牌参数,
可能当您呼叫该路由时,您错过了它。

您已经用token定义了“reset password/:token”,因此您需要通过该路由传递token


您必须通过该路由传递令牌,或者定义另一个不带令牌的路由。

看起来您没有重置密码。路由?只有一个
reset password/:token
route?谢谢@DeborahK的回复。是的,我说的是带有参数“token”的道路。我更正了我的答案。谢谢@Dzhavat的回复。是的,我更正了我的答案。我想使用的路由是带有参数tokenCool的路由。然后
http://localhost:4200/reset-密码?令牌=令牌信息
http://localhost:4200/reset-密码/:令牌
不相同。您可以添加路由
{path:'reset password'…}并使用params获取
token`或者您需要像这样发送令牌
http://localhost:4200/reset-密码/令牌信息
重置密码组件
组件中,您可以通过查看
令牌信息
参数访问令牌。看看这个谢谢你的回复@Dzhavat。实际上,我的url的格式与声明的routethanks for response不兼容。我更正了我的答案。我想使用的路由是带有参数令牌的路由。我用令牌发送请求。谢谢回复。我更正了我的答案。我想使用的路由是带有参数令牌的路由。我用令牌发送请求。
const appRoutes: Routes = [{
    path: '',
    component: LoginLayoutComponent,
    children: [
        { path: '', component: SigninComponent },
        {
            path: 'forgot-password',
            component: ForgotPasswordComponent,
        },
        {
            path: 'forgot-password/confirmation',
            component: ForgotPasswordConfirmationComponent,
        },
        { 
            path: 'reset-password/:token',
            component: ResetPasswordComponent,
        },
        { path: 'signup', component: SignupComponent },
        { path: 'logout', component: LogoutComponent, canActivate: [
            CanActivateViaAuthGuard
           ]
        },
      ]
    },