0

我试图在我的platform-server/universal应用程序中使用 get params 来描述一条路线,但到目前为止没有任何成功。

任何人都知道如何定义实现这一目标?

根据我从express路由中了解到的信息,我尝试了以下操作,但最终遇到了错误

路线.ts:

 export const ROUTES: string[] = [
    '/',
    '/item/:id'
 ];

主服务器.ts:

ROUTES.forEach((route: string) => {
  app.get(route, (req: Request, res: Response) => {
    res.render('../dist/index', {
      req: req,
      res: res
    });
  });
});

我的组件:

constructor(private route: ActivatedRoute) {

  }

ngOnInit() {
    this.sub = this.route.params.subscribe(params => {
       console.log(params['id']);
    });
}

使用此代码,服务器npm start启动时没有错误,但是当我打电话时,我http://localhost:8000/item/thisistheparam在浏览器控制台中遇到以下错误

错误:未捕获(承诺):错误:无法匹配任何路由。URL 段:'item/thisistheparam'

4

1 回答 1

0

哎呀,我找到了问题,我也忘了添加我的惰性模块的路径;)

分别在我的 item.module.ts 中:

@NgModule({
  declarations: [ItemView],
  imports: [
    RouterModule.forChild([
      { path: ':id', component: PublicItemView, pathMatch: 'full'}
    ])
  ]
})

我改变path: ''path: ':id'一切,如果现在像魅力一样工作

于 2017-08-24T12:48:20.803 回答