[英]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.