簡體   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