繁体   English   中英

防止angularjs ui-router路由

[英]Prevent angularjs ui-router from routing

我的应用程序布局在右上角或页面显示用户名。 单击时,会出现一个下拉列表,其中包含导航到设置,注销,配置文件等的选项。

我们从我们的创意团队获得了模板。 他们使用带有href =#的锚标签()来阻止导航。 现在我已经将角度和使用ui-router结合起来了,这种方法显然不再适用。

有没有办法防止ui-router在某些条件下导航? 一个明显的答案是将锚标记更改为按钮。 我正在寻找另一种选择。

或者我可能需要一种全新的方法?

您可以在锚点上注册ng-click,并根据处理程序内的条件通过$state.go导航,而不是使用ui-sref

<a ng-click="clickAction($event)" href="#">Route</a>

并在单击处理程序中防止默认行为:

  //Make sure to inject `$state`
   $scope.clickAction = function($event){
      $event.preventDefault();

      if(myconditionNotToNavigateMet){
        return;
      }

      $state.go('myUrl');
   }

很简单,使用没有值的锚标记:

<a href class="classes">
  ...
</a>

这使得锚效应不会错过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM