angularjs 路由問題處理收集
阿新 • • 發佈:2017-09-11
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 路由問題處理收集