Javascript 防止角度2重定向<;a href="#&引用&燃气轮机;到主页

Javascript 防止角度2重定向<;a href="#&引用&燃气轮机;到主页,javascript,angular,angular2-routing,Javascript,Angular,Angular2 Routing,我有一个指向仪表板的示例登录页面。登录页面设置为初始重定向页面,并路由到仪表板。仪表板包含一个带有一些链接的下拉菜单。每次单击链接时,它都会一直重定向到登录页面。但是,当重新加载仪表板页面时,下拉菜单可以完全正常工作 我正在考虑对链接使用“event.preventDefault()”,但我希望有一个解决方法 仪表板菜单-HTML <div class="navbar-default sidebar" role="navigation"> <div class="sideb

我有一个指向仪表板的示例登录页面。登录页面设置为初始重定向页面,并路由到仪表板。仪表板包含一个带有一些链接的下拉菜单。每次单击链接时,它都会一直重定向到登录页面。但是,当重新加载仪表板页面时,下拉菜单可以完全正常工作

我正在考虑对链接使用“event.preventDefault()”,但我希望有一个解决方法

仪表板菜单-HTML

<div class="navbar-default sidebar" role="navigation">
  <div class="sidebar-nav navbar-collapse">
    <ul class="nav" id="side-menu">
      <li>
        <a href="#"><i class="fa fa-calendar fa-fw"></i> Manage Events<span class="fa arrow"></span></a>
        <ul class="nav nav-second-level collapse">
          <li>
            <a href="#">Lorem Ipsum</a>
          </li>
          <li>
            <a href="#">Lorem Ipsum</a>
          </li>
        </ul>
        <!-- /.nav-second-level -->
      </li>
    </ul>
  </div>
  <!-- /.sidebar-collapse -->
</div>


编辑:收到一些回复后,我想澄清我的主要问题。问题存在于链接为空链接的情况下,Angular 2将其视为空链接并导致其重定向。如果我能找到一个解决方法告诉Angular,不要将此链接视为空链接,这将是理想的。

如果单击链接时不希望任何重定向,请查看以下解决方案:

或者您可以在不带
href
属性的情况下放置
标记。


<div class="sidebar-nav navbar-collapse">
    <ul class="nav" id="side-menu">
      <li>
        <a href="javascript: void(0);"><i class="fa fa-calendar fa-fw"></i> Manage Events<span class="fa arrow"></span></a>
        <ul class="nav nav-second-level collapse">
          <li>
            <a [routerLink]="['ManageEvents/LoremIpsum']">Lorem Ipsum</a>
          </li>
          <li>
            <a [routerLink]="['ManageEvents/LoremIpsum']>Lorem Ipsum</a>
          </li>
        </ul>
        <!-- /.nav-second-level -->
      </li>
    </ul>
  </div>
    • 乱数假文
    • 只需使用

      这对我很有用

      <a href="" onclick="return false;">link</a>
      
      
      

      希望这有助于链接也通过这种方式工作

      对于我来说,我使用了
      路由链接
      并将其设置为空:

      <a [routerLink]="" (click)="onClickPage()">Click me</a>
      
      点击我
      
      在父组件收到子组件的事件后,我遇到了一种情况,它重定向到主页。我在父母那里解决了这个问题

      receiveMessage($event){//do this.router.navigateByUrl('/parent route');}


      即使是父路由也应该接受参数。

      尝试删除href,使用css设置
      光标:指针
      ,并在
      元素上单击句柄,如
      。它应该有效;)

      请尝试以下代码
      @AniketV Hi,谢谢您的回复,但它仍会继续重定向到主页。请放入您的代码请共享您的仪表板菜单代码。看起来仪表板上有一个表单可能会自动提交。我已经添加了仪表板菜单HTML代码。如果我还有什么需要补充的,一定要告诉我。嗨,谢谢你的回复。问题仍然存在。嗯,这很奇怪。我还向a标签添加了ng click,但我认为这不会有什么不同。很抱歉听到此解决方案无法解决您的问题。您好,谢谢您的回复。我尝试删除链接中的href属性。它会变得不可点击,并且不会展开菜单。这不起作用。删除
      href=#
      将使元素无法被选中,感谢您的回复。我确实尝试了“javascript:void(0);”,但它使链接无法链接。