当进入视图时,我如何在Ionic中调用函数?
How can I call a function in Ionic when a view is entered?
我有一个列出用户配置文件的配置文件页面。用户可以单击编辑按钮编辑所有与用户相关的信息。一旦用户保存了页面,他们就会导航回应该自动更新的个人资料页面。
现在我缺少了一种触发事件,当用户导航到一个页面。window.onLoad()
只工作一次,window.onPageShow()
也一样。当用户离开页面时触发window.onPopState()
我的想法是依赖这样一个事件,然后调用$scope.init(),它下载用户信息并将其设置为视图:
.controller('UserProfileCtrl', function($scope, $http, $window, LocationService) {
$window.onPageShow = function() {
console.log("UserProfileCtrl->onPageShow(), getting location and loading user.");
LocationService.getLocation();
$scope.init();
};
$scope.init = function() {
$http.post("my-backend-address")
.success(function (data, status, headers, config) {
$scope.user = data.user;
})
}
});
在Ionic中,你有一个叫做View Events的东西,你可以在这里阅读它们。您的用例有两个感兴趣的事件:$ionicView.loaded
和$ionicView.beforeEnter
。
下面是一个代码示例,说明如何在代码中使用它:
$scope.$on("$ionicView.beforeEnter", function() {
console.log("UserProfileCtrl->onPageShow(), getting location and loading user.");
LocationService.getLocation();
$scope.init();
});
简而言之,$ionicView.loaded
在创建视图时被调用,$ionicView.beforeEnter
在每次即将进入视图时被调用。我建议尝试$ionicView.beforeEnter
,看看它是否适合您的用例。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 使用Ionic 2进行POST调用
- 直接从Ionic选项卡angularjs调用函数
- IONIC是否支持用Java开发的多线程和调用jar库
- Ionic Angular/为什么在控制器功能结束之前不调用服务
- AngularJS + Ionic - 如何从第一个控制器调用第二个控制器上的方法
- 在 ionic services.js 文件中对第三方 API 进行 ajax 调用
- 在另一个 AngularJS Ionic 中调用一个工厂
- Ionic转盘调整$http调用的大小问题
- 无法从 AngularJS Ionic Framework 中的另一个控制器调用方法
- 如何使用javascript将数据从数据库调用到ionic框架(angularjs)的首页
- ionic框架中调用视图的Ui-router问题
- Ionic 2:调用事件同时订阅和取消订阅
- Ionic confirmPopup then()函数在用户交互之前被调用
- 当进入视图时,我如何在Ionic中调用函数?
- 从Ionic modal调用函数后,参数混乱
- 当调用外部脚本(如disqus指令)时,如何将angular / ionic中的file://更改为http://
- 在Ionic框架中调用Google API for Javascript(在Web上工作,而不是在Android上工作)
- 如何在ionic (angular.js)中调用相同服务的其他函数
- 我如何调用$scope变量内部函数在Ionic不同的模板