AngularJS監(jiān)聽(tīng)路由的變化示例代碼
話不多說(shuō),我們下面直接來(lái)看實(shí)現(xiàn)的示例代碼
【一】Angular 路由狀態(tài)發(fā)生改變時(shí)可以通過(guò)' $stateChangeStart '、' $stateChangeSuccess '、' $stateChangeError '監(jiān)聽(tīng),通過(guò)注入'$location'實(shí)現(xiàn)狀態(tài)的管理
代碼示例如下:
function run($ionicPlatform, $location, Service, $rootScope, $stateParams) {
//路由監(jiān)聽(tīng)事件
$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") {
//獲取參數(shù)之后可以調(diào)請(qǐng)求判斷需要渲染什么頁(yè)面,渲染不同的頁(yè)面通過(guò) $location 實(shí)現(xiàn)
if (toParams.id == 10) {
//$location.path();//獲取路由地址
// $location.path('/validation').replace();
// event.preventDefault()可以阻止模板解析
}
}
})
// stateChangeSuccess 當(dāng)模板解析完成后觸發(fā)
$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
})
// $stateChangeError 當(dāng)模板解析過(guò)程中發(fā)生錯(cuò)誤時(shí)觸發(fā)
$rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
})
}
【2】在頁(yè)面渲染中 可通過(guò)' $viewContentLoading '和 ' $viewContentLoaded '監(jiān)聽(tīng)頁(yè)面渲染狀態(tài):渲染開(kāi)始和渲染結(jié)束。
(在控制器中添加以下代碼實(shí)現(xiàn)監(jiān)聽(tīng))
// $viewContentLoading- 當(dāng)視圖開(kāi)始加載,DOM渲染完成之前觸發(fā),該事件將在$scope鏈上廣播此事件。
scope.$watch('$viewContentLoading',function(event, viewConfig){
alert('模板加載完成前');
});
//$viewContentLoaded- 當(dāng)視圖加載完成,DOM渲染完成之后觸發(fā),視圖所在的$scope發(fā)出該事件。
$scope.$watch('$viewContentLoaded',function(event){
alert('模板加載完成后');
});
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)或者工作帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- 用director.js實(shí)現(xiàn)前端路由使用實(shí)例
- director.js實(shí)現(xiàn)前端路由使用實(shí)例
- vue.js使用watch監(jiān)聽(tīng)路由變化的方法
- VueJs路由跳轉(zhuǎn)——vue-router的使用詳解
- JS實(shí)現(xiàn)簡(jiǎn)單路由器功能的方法
- AngularJS路由實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)實(shí)例
- AngularJS 路由詳解和簡(jiǎn)單實(shí)例
- react-router JS 控制路由跳轉(zhuǎn)實(shí)例
- 使用AngularJS對(duì)路由進(jìn)行安全性處理的方法
- JS實(shí)現(xiàn)前端路由功能示例【原生路由】
相關(guān)文章
解決AngualrJS頁(yè)面刷新導(dǎo)致異常顯示問(wèn)題
本篇文章主要介紹了解決AngualrJS頁(yè)面刷新導(dǎo)致異常顯示問(wèn)題的方法。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
angular4 JavaScript內(nèi)存溢出問(wèn)題
本篇文章主要介紹了angular4 JavaScript內(nèi)存溢出問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
AngularJS內(nèi)建服務(wù)$location及其功能詳解
這篇文章主要為大家詳細(xì)介紹了AngularJS內(nèi)建服務(wù)$location及$location功能,感興趣的小伙伴們可以參考一下2016-07-07
AngularJS轉(zhuǎn)換響應(yīng)內(nèi)容
這篇文章主要介紹了AngularJS轉(zhuǎn)換響應(yīng)內(nèi)容 的相關(guān)資料,需要的朋友可以參考下2016-01-01
Angular6升級(jí)到Angular8報(bào)錯(cuò)問(wèn)題的解決合集
這篇文章主要介紹了Angular6升級(jí)到Angular8報(bào)錯(cuò)問(wèn)題的解決合集,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03

