1. 程式人生 > >angularjs 路由問題處理收集

angularjs 路由問題處理收集

ida root cat ionic content config def tde 開始

Angular 路由狀態發生改變時可以通過

$stateChangeStart

$stateChangeSuccess

$stateChangeError

監聽,通過註入$location‘實現狀態的管理

function run($ionicPlatform, $location, Service, $rootScope, $stateParams) { 
  //路由監聽事件 
  $rootScope.$on(‘$stateChangeStart‘, 
    function(event, toState, toParams, fromState, fromParams) { 
     console.log(event); 
     console.log(toState); 
     console.log(toParams); 
     console.log(fromState); 
     console.log(fromParams); 
     if (toState.name == "homePage") { 
      //獲取參數之後可以調請求判斷需要渲染什麽頁面,渲染不同的頁面通過 $location 實現 
      if (toParams.id == 10) { 
       //$location.path();//獲取路由地址 
       // $location.path(‘/validation‘).replace(); 
       // event.preventDefault()可以阻止模板解析 
      } 
     } 
    }) 
   // stateChangeSuccess 當模板解析完成後觸發 
  $rootScope.$on(‘$stateChangeSuccess‘, function(event, toState, toParams, fromState, fromParams) { 
  
  }) 
  
  // $stateChangeError 當模板解析過程中發生錯誤時觸發 
  $rootScope.$on(‘$stateChangeError‘, function(event, toState, toParams, fromState, fromParams, error) { 
  
  }) 
 }

在頁面渲染中 可通過$viewContentLoading$viewContentLoaded監聽頁面渲染狀態:渲染開始和渲染結束。

scope.$watch(‘$viewContentLoading‘,function(event, viewConfig){ 
 alert(‘模板加載完成前‘); 
}); 
//$viewContentLoaded- 當視圖加載完成,DOM渲染完成之後觸發,視圖所在的$scope發出該事件。 
$scope.$watch(‘$viewContentLoaded‘,function(event){ 
  alert(‘模板加載完成後‘); 
});

angularjs 路由問題處理收集