在$ state.go之后没有调用离子控制器

moh*_*ory 5 javascript-events angularjs ionic-framework

我有一个控制器从我的后端应用程序获取数据,当第一次从第一个控制器打开状态时它加载数据,但是当它再次尝试打开它时它不会加载新数据

这是怎么回事

if (selectedServiceID == "000")
{
  $state.go('balanceInquery'); 
};
Run Code Online (Sandbox Code Playgroud)

这里是被称为balanceInquery的状态控制器

.controller('BalanceInqueryController', function($scope, getAccountBalanceService, $state, $ionicLoading, $ionicPopup) {
  getAccountBalanceService.get(username, pass, customerID, serviceAccID, langID)
    .success(function(data) {
      $scope.custBalance = data;
    })
    .error(function(data) {
      var alertPopup = $ionicPopup.alert({
        title: 'Error!',
        template: 'Sorry something went wrong'
      });
    });
})
Run Code Online (Sandbox Code Playgroud)

Car*_*ona 9

我遇到了类似的问题.第一次仅在重新加载后显示.原因是视图缓存.使用cache:false禁用它,就像我的特定情况一样:

$stateProvider
  .state('login', {
    url: '/login',
    controller: 'LoginCtrl as vm',
    templateUrl: 'app/login/login.html'
  })
  .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: 'templates/tabs.html',
    cache: false
  })
Run Code Online (Sandbox Code Playgroud)


Dou*_*mos 3

这是由于视图缓存造成的,可以通过多种方式禁用视图缓存。有关更多详细信息,请参阅http://ionicframework.com/docs/nightly/api/directive/ionNavView/ 。