angularjs 运行 函数每次显示页面
angularjs run function every time the page is shown
我有这个代码:
.controller('HomeCtrl', function( $scope, $http )
{
$http.get( onlinePath + "/status" ).then(function(result)
{
if( result.data.status == true )
{
$scope.currentStatus = result.data.userStatus;
}
});
});
当此页面加载(第一次打开)时,它会获得在线状态并显示在该页面中。
问题是,我在应用程序中导航,当我来到这个页面(我认为它已经加载)时,它没有再次 运行 $http.get。
我如何知道页面何时再次打开(未加载)?
看看:http://ionicframework.com/docs/api/directive/ionView/。
特别是 "View LifeCycle and Events" 部分 - 那里说视图已缓存(您可以配置的缓存)并且您可以收听特定 .. 阶段的一些事件。
所以你可以这样做:
$scope.$on("$ionicView.beforeEnter", function() {
console.log("http call here");
});
在您的路由配置中,您可以添加 cache : false 参数,例如
.state('app.home', {
cache: false,
url: '/home',
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})
我有这个代码:
.controller('HomeCtrl', function( $scope, $http )
{
$http.get( onlinePath + "/status" ).then(function(result)
{
if( result.data.status == true )
{
$scope.currentStatus = result.data.userStatus;
}
});
});
当此页面加载(第一次打开)时,它会获得在线状态并显示在该页面中。
问题是,我在应用程序中导航,当我来到这个页面(我认为它已经加载)时,它没有再次 运行 $http.get。
我如何知道页面何时再次打开(未加载)?
看看:http://ionicframework.com/docs/api/directive/ionView/。
特别是 "View LifeCycle and Events" 部分 - 那里说视图已缓存(您可以配置的缓存)并且您可以收听特定 .. 阶段的一些事件。
所以你可以这样做:
$scope.$on("$ionicView.beforeEnter", function() {
console.log("http call here");
});
在您的路由配置中,您可以添加 cache : false 参数,例如
.state('app.home', {
cache: false,
url: '/home',
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})