cuc*_*uru 4 angular angular5 angular-routerlink
我正在使用routerLink返回我的页面.
目前的路线可以有3个级别:
myurl.com/parent
myurl.com/parent/child
myurl.com/parent/child/grandchild
Run Code Online (Sandbox Code Playgroud)
另外,我有一些不同的组件,因此它不会总是父组件,它可以是parent1,也可以是parent2,也可以是子组件和孙子组件,例如:
myurl.com/parent2/child1/grandchild2
Run Code Online (Sandbox Code Playgroud)
我想要的是总是去上一级,例如:
myurl.com/parent/child/grandchild -> myurl.com/parent/grandchild
Run Code Online (Sandbox Code Playgroud)
我做的是:
<button [routerLink]="['../'']">
back
</button>
Run Code Online (Sandbox Code Playgroud)
但它总是导航到"myurl.com"
我怎么解决呢?
正如一些用户建议的那样,我正在分享我的路由配置:
在app.routing.ts中:
const APP_ROUTES: Routes = [
{
path: '',
canActivate: [LoggedInGuard],
children: [
{path: '', redirectTo: '/mainPage', pathMatch: 'full'},
{path: 'parent', loadChildren: 'app/parent/parend.module#ParentModule'
]},
{path: '**', redirectTo: ''}
];
Run Code Online (Sandbox Code Playgroud)
在parent.routing.ts中:
const PARENT_ROUTES: Routes = [
{path: '', component: ParentComponent},
{path: ':id', component: ChildComponent},
];
Run Code Online (Sandbox Code Playgroud)
如果在浏览器中我写道:
myurl.com/parent -> it works
Run Code Online (Sandbox Code Playgroud)
但单击后退按钮失败
Vla*_*274 10
如果你试图"向上"导航一个级别,你几乎是正确的.
<a routerLink="..">Up</a>
Run Code Online (Sandbox Code Playgroud)
这将导航
myurl.com/parent/child/grandchild -> myurl.com/parent/child
Run Code Online (Sandbox Code Playgroud)
但是,如果您想像浏览器的后退按钮一样真正地"返回",则需要使用javascript.
在StackOverflow问题上,针对该问题存在各种现有答案
对于任何更复杂的事情,它将取决于您正在尝试做什么 - 但它可能需要点击处理程序和URL的一些手动操作.
| 归档时间: |
|
| 查看次数: |
8844 次 |
| 最近记录: |