相思资源网 Design By www.200059.com
话不多说,我们下面直接来看实现的示例代码
【一】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('模板加载完成后'); });
总结
以上就是这篇文章的全部内容,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无AngularJS监听路由的变化示例代码的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。