中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular如何實現未登錄狀態攔截路由跳轉

發布時間:2021-08-18 09:45:52 來源:億速云 閱讀:168 作者:小新 欄目:web開發

這篇文章給大家分享的是有關angular如何實現未登錄狀態攔截路由跳轉的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

使用angularjs的但頁面應用時,由于是本地路由在控制頁面跳轉,但是有的時候我們需要判斷用戶是否登錄來判斷用戶是否能進入界面。

angularjs是mvc架構所以實現起來很容易也很靈活,我們只MainController里增加一個路由事件偵聽并判斷,這樣就可以避免未登錄用戶直接輸入路由地址來跳轉到登錄界面地址了。

第一步:定義myapp

var myapp=angular.module("MainController",["ui.router",'infinite-scroll','oc.lazyLoad']);

第二步:使用config來配置路由跳轉

myapp.config(
 function($stateProvider,$urlRouterProvider,$ocLazyLoadProvider,$httpProvider){
 $stateProvider
  .state('index', {//首頁
   url: '/index',
   templateUrl: basePath+'page/gym/lecycle_index.html',
   resolve: {
     loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad){//這兩行就是loader的使用,此行寫法固定
      return $ocLazyLoad.load(basePath+'src/lecycle_index/le_index.js');//后面這個就是進入這個模板時候要加載進來的js
     }]
    }
  })
  .state('userAgree',{//同意用戶協議頁面
   url:"/userAgree",
   templateUrl:basePath+'page/agreement.html'
  })
  .......
 $urlRouterProvider.otherwise("/index");/*BproDtails*/
});

第三步:使用run來進行登錄驗證攔截

myapp.run(function ($rootScope,$state) {
 $rootScope.$on('$stateChangeStart',function(event){
  // if(toState.name=='login')return;// 如果是進入登錄界面則允許
  // 如果用戶不存在
  if(ifLoginTrue==false){
   console.log("沒有登錄")
   event.preventDefault();// 取消默認跳轉行為
   $("#my-modal-loading").modal('open');//開啟加載中loading

   // $state.go("login",{from:fromState.name,w:'notLogin'});//跳轉到登錄界面
  }
 });
});

感謝各位的閱讀!關于“angular如何實現未登錄狀態攔截路由跳轉”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资讯| 大悟县| 长寿区| 达孜县| 正安县| 铜川市| 高陵县| 杨浦区| 瑞金市| 清水河县| 荆州市| 天台县| 城市| 宁化县| 枝江市| 同德县| 浦东新区| 阿坝县| 内丘县| 襄樊市| 凭祥市| 正宁县| 突泉县| 平阳县| 东辽县| 社旗县| 红安县| 湛江市| 衢州市| 连江县| 房山区| 邯郸县| 高陵县| 茶陵县| 临安市| 巴彦淖尔市| 郑州市| 广灵县| 青川县| 东乌珠穆沁旗| 灌南县|