Angular 监听路由变化
2016-08-05 11:30
351 查看
【一】Angular 路由状态发生改变时可以通过'$stateChangeStart'、'$stateChangeSuccess'、'$stateChangeError'监听,通过注入'$location'实现状态的管理,代码示例如下:
【2】在页面渲染中 可通过'$viewContentLoading'和 '$viewContentLoaded'监听页面渲染状态:渲染开始和渲染结束。(在控制器中添加以下代码实现监听)
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) { }) }
【2】在页面渲染中 可通过'$viewContentLoading'和 '$viewContentLoaded'监听页面渲染状态:渲染开始和渲染结束。(在控制器中添加以下代码实现监听)
// $viewContentLoading- 当视图开始加载,DOM渲染完成之前触发,该事件将在$scope链上广播此事件。 $scope.$watch('$viewContentLoading',function(event, viewConfig){ alert('模板加载完成前'); }); //$viewContentLoaded- 当视图加载完成,DOM渲染完成之后触发,视图所在的$scope发出该事件。 $scope.$watch('$viewContentLoaded',function(event){ alert('模板加载完成后'); });
相关文章推荐
- angular 监听路由状态变化
- Angular 监听路由变化事件
- 第11篇:Angular 监听路由变化
- Angular 监听路由变化
- Angular 监听路由变化事件
- Angular 监听路由变化事件
- Angular中使用$watch监听object属性值的变化
- vue 监听路由变化 mint-ui中tabbar遇到的坑
- 使用watch监听路由变化和watch监听对象
- Angular.js中使用$watch监听模型变化
- Angular中的$watch可以监听属性值的变化
- AngularJS监听路由的变化示例代码
- angular2监听页面大小变化
- Angular.js中使用$watch监听模型变化
- AngularJS监听路由变化的方法
- vue 监听路由变化
- Angular.js中使用$watch监听模型变化
- vue中监听路由变化
- vue.js使用watch监听路由变化的方法
- angular 实时监听input框value值的变化触发函数方法