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'
        }
    }
})