我们可以用 cordova 事件侦听器来监听事件 'resume' 和 'resolve'。在离子平台中,这对应于:
$ionicPlatform.on('resume', function() {
$rootScope.$broadcast('onResume');
});
$ionicPlatform.on('pause', function() {
$rootScope.$broadcast('onPause');
});
我的应用的某些页面需要解析才能进行解析(请参阅下面的 authSolve)。
但是,一旦用户退出应用程序(在 iPhone 上双击主页按钮)然后返回,如何再次调用函数 solve?比如如何将解析函数与上述 cordova 事件侦听器相结合?谢谢!
应用.js(部分)
.config(function($stateProvider, $urlRouterProvider) {
//
$urlRouterProvider.otherwise('/auth');
//
var authResolve = function ($q, Auth) {
var qResolve = $q.defer();
var AuthObj = Auth.getAuthObj();
switch (AuthObj.authStatus) {
case true:
qResolve.resolve("AUTH_RESOLVE_SUCCESS");
break
case false:
qResolve.reject("AUTH_RESOLVE_UNAUTHORIZED");
break
default:
qResolve.reject("AUTH_RESOLVE_OTHER", AuthObj);
break
};
return qResolve.promise;
};
// REST OF .config
.state('tab.album', {
url: '/dash/:albumName',
views: {
'menuContent': {
templateUrl: 'templates/tab-album.html',
controller: 'AlbumCtrl',
resolve: {authResolve: authResolve}
}
}
})
})
我会试试这个:
$ionicPlatform.on('resume', function() {
$state.transitionTo($state.current, $stateParams, {
reload: true,
inherit: false,
notify: true
});
});
(来源:重新加载当前状态 - 刷新数据)