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