Javascript 不同路线和内容的同一页面
假设我的角度应用程序中有两种类型的路线: /足球和/或篮球和我对这些路线有单独的组成部分 现在我有了详细信息页面。详细信息页面非常复杂,足球和篮球都有相同的详细信息页面布局,所以我有一个组件,路径如下:/details,而不是/football/details或/basketball/details。这些都是迷你游戏,在细节页面中,我可以同时打开足球和篮球比赛,所以我认为/football/details或/basketball/details路线的实现在逻辑上是错误的Javascript 不同路线和内容的同一页面,javascript,angular,routes,Javascript,Angular,Routes,假设我的角度应用程序中有两种类型的路线: /足球和/或篮球和我对这些路线有单独的组成部分 现在我有了详细信息页面。详细信息页面非常复杂,足球和篮球都有相同的详细信息页面布局,所以我有一个组件,路径如下:/details,而不是/football/details或/basketball/details。这些都是迷你游戏,在细节页面中,我可以同时打开足球和篮球比赛,所以我认为/football/details或/basketball/details路线的实现在逻辑上是错误的 布局是一样的,但我需要在
布局是一样的,但我需要在详细信息页面内做一些不同的事情,这取决于我从足球页面或篮球页面打开详细信息页面,所以我应该知道我在足球详细信息页面或篮球详细信息页面。那么,对于这类问题,什么是最佳的路由体系结构呢?我是说我应该用queryParams吗?或者我做错了什么?最佳做法是什么?在上述场景中,要确定您从哪个路由登录到组件页面,您可以在路由模块中使用queryparams或传递数据对象。下面是这两种方法的使用案例
1) this.router.navigate(['/path'], { queryParams: { type: 'football'} });
2) {
path: '',
component: detailsComponent,
data: {
type: 'football'
}
}
如果是具有不同功能的同一页面,我建议使用/details路由和queryParams,然后创建一个服务来处理自定义逻辑。是的,使用queryParams并让您的details组件知道路由来自足球或篮球。