2015-03-22 6 views
5

У меня есть контроллер, получающий данные из моего внешнего приложения, при первом открытии состояния от первого контроллера он загружает данные, но когда он пытается открыть его опять не загружает новые данные

вот как

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

+3

Я обнаружил, что ионные виды рамочные кэшируются для повышения производительности В последнем ионном релизе (v1.0.0-beta.14) они введено кэширование представления. Дополнительную информацию об этом см. В документах IonView. Вы можете отключить кеширование для своего маршрута следующим образом: http://ionicframework.com/docs/nightly/api/directive/ionNavView/ – mohdcafory

+0

Спасибо, это спасло меня от времени. – Andy

+0

Спасибо, это помогло мне загрузиться. –

ответ

9

У меня была аналогичная проблема. Первый раз был показан только после перезагрузки. Причиной является кэширование вида. Отключить его кэша: ложные, как в моем конкретном случае:

$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 
    }) 
Смежные вопросы