当前位置: 首页 > 知识库问答 >
问题:

使用routerLink返回

郤瀚
2023-03-14

我正在使用routerLink返回我的页面。

当前路线可以有3个级别:

myurl.com/parent
myurl.com/parent/child
myurl.com/parent/child/grandchild

此外,我有一些不同的组件,所以它不一定总是父级,它可以是parent1或parent2,也可以是子级和孙级,例如:

myurl.com/parent2/child1/grandchild2

我想要的总是转到上一级,例如:

myurl.com/parent/child/grandchild -> myurl.com/parent/grandchild

我所做的是:

<button [routerLink]="['../'']">
       back
</button>

但它总是导航到“myurl.com”

我如何解决它?

正如一些用户所建议的,我正在共享我的路由配置:

应用程序内。路由。ts:

const APP_ROUTES: Routes = [
{
  path: '',
  canActivate: [LoggedInGuard],
  children: [
    {path: '', redirectTo: '/mainPage', pathMatch: 'full'},
    {path: 'parent', loadChildren: 'app/parent/parend.module#ParentModule'
]},
{path: '**', redirectTo: ''}
];

在父级中。路由。ts:

const PARENT_ROUTES: Routes = [
 {path: '', component: ParentComponent},
 {path: ':id', component: ChildComponent},
];

如果我在浏览器中写道:

myurl.com/parent -> it works

但点击后退按钮失败

共有3个答案

牧信厚
2023-03-14

这是在延迟加载模块时特别观察到的,这是一个已知的错误。

角度11:它很好用,开箱即用。

@NgModule({
  imports: [RouterModule.forRoot(routes, {})], // relativeLinkResolution === 'corrected' by default
  exports: [RouterModule],
})
export class AppRoutingModule {}

在Angular 11之前:显式地使用{relativeLink分辨率:“更正”}

@NgModule({
  imports: [RouterModule.forRoot(routes, {relativeLinkResolution:'corrected'})],
  exports: [RouterModule],
})
export class AppRoutingModule {}

您还可以设置{relativeLinkSolutions:'遗留'}以获取您面临的当前行为。

咸利
2023-03-14

试试这个

习胤运
2023-03-14

如果你想“向上”一级导航,你几乎是对的。

<a routerLink="..">Up</a>

这将导航

myurl.com/parent/child/grandchild -> myurl.com/parent/child

然而,如果您想像浏览器的后退按钮一样真正地“后退”,则需要使用javascript

关于这个StackOverflow问题,有各种各样的现有答案

对于任何更复杂的事情,这将完全取决于您正在尝试做什么,但可能需要一个单击处理程序和一些手动操作URL。

 类似资料:
  • 我需要同一个锚链接有条件地指向本地或外部资源。我试过了 但是不管用。我没有得到任何错误,但它指向同一个本地页面,忽略了外部URL。有什么想法吗? 另一种选择是构建链接,但我找不到任何文档如何在服务内部访问 编辑:我知道我可以用克隆整个链接,但我不想这样做,我的链接包含一个带有一系列选项的视频标签

  • 数据库中的每一行都是这样的 现在我想这样返回上面的数据 我将Spring的JdbcTemplate与行映射器一起使用,但我只能得到所有行的列表。由于我无法在RowMapper中维护我的主映射(我可以在RowMapper类中有一个静态映射吗?但我不希望它是静态的,因为这是一个webservice,后续调用可能会出错。),我只能选择获取该行列表,然后使用逻辑创建所需的集合。 我开始了解,但我找不到如何

  • 怎么回事?为什么这不起作用? 环境 Visual Studio 2015更新1 ASP.NET 5和MVC6 DNX 4.5.1和5.0 Angular2打字稿

  • 问题内容: 我正在为我的网站创建自动完成功能。到目前为止,javascript部分已经结束。另外,我可以获取匹配用户的MembershipUser对象。 我需要以以下格式返回JSON: 这是ashx中的代码: 如何以所需格式返回json?谢谢。 问题答案:

  • 我试图用ServletContext返回一个图像,但出现500个错误,控制台显示: java.lang.NullPointerException: null at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2146) 在 org.apache.commons.io.io.ioUtils.copy(IOUtils.java:2102)

  • 我正在努力解决与RouterLink一起使用的Ionic的生命周期事件。 我将我的应用程序数据保存在一个JSON文件中,该文件在加载页面时使用url参数呈现每个项目。我需要按钮来转到下一个或上一个项目并刷新页面内容,即: 我在第1项(/讲座/item1)= 是否有任何方法/解决方法来重新加载组件并更新传递不同参数的状态? 我已经尝试使用useHistory挂钩,历史。replace(Source)