ionicView 生命周期事件不调用处理方法 $ ionicView.loaded $ ionicView.enter
2016-07-06 14:46
411 查看
这个问题发现的很早,却一直没有得到解决,今天必须要解决了,查了半天资料终于解决了!
如果在controller中使用$rootScope.$on('$ionicView.enter', function() {});调用,不仅进入该页面会调用,进入其他的页面也会调用,所以是不对的,而且在官方的文档中并没有使用rootScope;
终于在一个帖子中找到了关键:
解决方法
是需要在$stateProvider,路由注册时,把controller也添加进去,否则是不会执行的;
如:
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller:'LoginController'
})
这样就会执行我们在controller中写的生命周期方法了:
$scope.$on('$ionicView.beforeEnter', function () {
console.log('-------beforeEnter-------');
}
如果在controller中使用$rootScope.$on('$ionicView.enter', function() {});调用,不仅进入该页面会调用,进入其他的页面也会调用,所以是不对的,而且在官方的文档中并没有使用rootScope;
终于在一个帖子中找到了关键:
解决方法
是需要在$stateProvider,路由注册时,把controller也添加进去,否则是不会执行的;
如:
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller:'LoginController'
})
这样就会执行我们在controller中写的生命周期方法了:
$scope.$on('$ionicView.beforeEnter', function () {
console.log('-------beforeEnter-------');
}
相关文章推荐
- Java反射学习
- 解题报告:HDU_1277 全文检索 字典树
- 【Android】ORM数据库框架之GreenDao快速入门与使用
- 通过微信公众号ID生成公众号的二维码
- raw flash vs FTL
- Form表单验证神器: BootstrapValidator
- mysql 变更数据库路径(linux)
- browser js
- 百度都干写什么
- tableView 左划多个事件
- springMVC框架的配置过程
- 小白笔记-----------------数据库Mysql存储中文
- 用TexturePacker打图集用于UGUI中
- 大数据系统的Lambda架构
- presentViewController跳转动画切换
- Android Bluetooth4.0 BLE开发官方文档介绍
- 代码块、构造器加载顺序
- Android Activity各启动模式的差异
- Struts2学习之准备工作
- 安装Reveal以及NO Connent<二>