话不多说,我们下面直接来看实现的示例代码【一】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) {})}
【2】在页面渲染中 可通过"
$viewContentLoading
"和 "
$viewContentLoaded
"监听页面渲染状态:渲染开始和渲染结束。
(在控制器中添加以下代码实现监听)// $viewContentLoading- 当视图开始加载,DOM渲染完成之前触发,该事件将在$scope链上广播此事件。 scope.$watch("$viewContentLoading",function(event, viewConfig){alert("模板加载完成前"); }); //$viewContentLoaded- 当视图加载完成,DOM渲染完成之后触发,视图所在的$scope发出该事件。 $scope.$watch("$viewContentLoaded",function(event){ alert("模板加载完成后"); });
总结以上就是这篇文章的全部内容,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。