首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >router.navigateByUrl()使导航到根并重新加载,角为2.4.7

router.navigateByUrl()使导航到根并重新加载,角为2.4.7
EN

Stack Overflow用户
提问于 2017-02-14 20:51:25
回答 2查看 5.2K关注 0票数 0

navigateByUrl导致导航到根并重新加载

当我使用router.navigate()或navigateByUrl()时,我会得到一个重载--对根的调用。Chrome工具控制台显示Navigated to http://localhost/

通过与<a [routerLink]=的链接导航工作正常。

应用程序

  • 是用角cli产生的。生成组件,然后进行修改。
  • 有3个组件test1、test11 (test1的一个子组件)和test2
  • 在test11和test2之间导航很好,可以通过routerLink的锚标记链接来导航。
  • 使用(单击)事件和编程(命令式)导航调用test2从test11导航到this.router.navigateByUrl('/test1/test11');

环境

代码语言:javascript
复制
`angular-cli: 1.0.0-beta.28.3    node: 7.5.0    os: win32 x64    @angular/common: 2.4.7    @angular/compiler: 2.4.7    @angular/core: 2.4.7    @angular/forms: 2.4.7    @angular/http: 2.4.7    @angular/platform-browser: 2.4.7    @angular/platform-browser-dynamic: 2.4.7    @angular/router: 3.4.7    @angular/compiler-cli: 2.4.7` 

代码

发布到GitHub,发布到GitHub https://github.com/michaelkariv/angular_router_demo

使用生产环境服务

serve --host localhost --port 80 --live-reload false -prod

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2017-12-31 00:21:26

按照您的代码,当单击锚时,将触发浏览器的默认导航

代码语言:javascript
复制
<a href="" (click)="goToTest11()"> router.navigateByUrl('../test1/test11')</a>

若要修复该问题,请使用event.preventDefault()

代码语言:javascript
复制
<a href="" (click)="$event.preventDefault();goToTest11();"> router.navigateByUrl('../test1/test11')</a>
票数 1
EN

Stack Overflow用户

发布于 2017-08-17 17:28:10

我还没有看到您的代码,所以这只是猜测,但我认为您错过了app.component.html中的路由器出口。

代码语言:javascript
复制
<div>
    <router-outlet></router-outlet>
</div>

最后将上述代码添加到app.component.html文件中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42235962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档