如何在输入AngularJS的每个页面上调用http请求?

如何在输入AngularJS的每个页面上调用http请求?,angularjs,routes,state,reload,Angularjs,Routes,State,Reload,如果我每次回到主页选项卡,如何获得新的http响应 我试过几种方法。我读过“$state.reload()”,但我不知道在哪里使用它。ng单击在tabs.html中不起作用 控制器: .controller('HomeCtrl', function ($scope, $http) { 'use strict'; // how to call this every time on coming back to this tab? $http.get("api.ph

如果我每次回到主页选项卡,如何获得新的http响应

我试过几种方法。我读过“$state.reload()”,但我不知道在哪里使用它。ng单击在tabs.html中不起作用

控制器:

.controller('HomeCtrl', function ($scope, $http) {
        'use strict';

// how to call this every time on coming back to this tab?
        $http.get("api.php")
            .then(function successCallback(response) {
                $scope.plan = response.data;
            }, function errorCallback(response) {
                console.error("Failed HTTP get: " + response.status + " " + response.data);
            });
// ...
tabs.html

<ion-tabs>
  <ion-tab title="Home" href="#/tab/home">
    <ion-nav-view name="tab-home"></ion-nav-view>
  </ion-tab>
<!-- ... -->
</ion-tabs>
非常感谢

在控制器中

$scope.loadHttp = function(){
        $http.get("api.php")
            .then(function successCallback(response) {
                $scope.plan = response.data;
            }, function errorCallback(response) {
                console.error("Failed HTTP get: " + response.status + " " + response.data);
            });

};
例如,鉴于

<div ng-click ="loadHttp()">Tab</div>
选项卡
用户选择

<ion-tab
  title="Home"
  icon="my-icon"
  href="#/tab/home"
  on-select="onTabSelected()"
  on-deselect="onTabDeselected()">
</ion-tab>


这是

它现在似乎起作用了。多亏了@prahc

我加了三次“缓存”,没有别的

        .state('tab', {
            url: '/tab',
            abstract: true,
            cache: false,
            templateUrl: 'templates/tabs.html'
        })

        // Each tab has its own nav history stack:

        .state('tab.home', {
            url: '/home',
            cache: false,
            views: {
                'tab-home': {
                    cache: false,
                    templateUrl: 'templates/tab-home.html',
                    controller: 'HomeCtrl',
                }
            }
        })

查看
angular.run
,然后订阅
stateChangeStart
,在那里发出请求。我是否必须删除tabs.html并在index.html中写入任何内容?因为您没有为选项卡状态指定控制器。.state('tab'),{url:'/tab',摘要:true,controller:'TabCtrl',templateUrl:'templates/tabs.html'}).controller('TabCtrl',function($scope,$state){$scope.test=function(){alert(“test”);$state.reload();});是否为您的家庭/选项卡创建子状态?
<ion-tab
  title="Home"
  icon="my-icon"
  href="#/tab/home"
  on-select="onTabSelected()"
  on-deselect="onTabDeselected()">
</ion-tab>
        .state('tab', {
            url: '/tab',
            abstract: true,
            cache: false,
            templateUrl: 'templates/tabs.html'
        })

        // Each tab has its own nav history stack:

        .state('tab.home', {
            url: '/home',
            cache: false,
            views: {
                'tab-home': {
                    cache: false,
                    templateUrl: 'templates/tab-home.html',
                    controller: 'HomeCtrl',
                }
            }
        })