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

前端之家收集整理的这篇文章主要介绍了angularjs – 在$state.go之后没有调用离子控制器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个控制器从我的后端应用程序获取数据,当第一次从第一个控制器打开状态时它加载数据,但是当它再次尝试打开它时它不会加载新数据

这是怎么回事

if (selectedServiceID == "000")
{
  $state.go('balanceInquery'); 
};

这里是被称为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'
      });
    });
})

解决方法

我遇到了类似的问题.第一次仅在重新加载后显示.原因是视图缓存.使用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
  })

猜你在找的Angularjs相关文章