2015-03-22 13 views
5

Mam kontroler, który pobiera dane z mojej aplikacji back-end, po otwarciu stanu po raz pierwszy od pierwszego kontrolera ładuje dane, ale kiedy próbuje go otworzyć znowu nie załadować nowe dane

oto jak

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

tutaj jest wywoływany balanceInquery Regulator stanu

.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

stwierdziliśmy, że jonowe widoki ramowe są buforowane w celu poprawy wydajności w najnowszym jonowy uwalniania (v1.0.0-beta.14) oni wprowadził buforowanie widoku. Zobacz dokumentację IonView, aby uzyskać więcej informacji na ten temat. Można dezaktywować buforowanie dla trasy takiej jak ta http://ionicframework.com/docs/nightly/api/directive/ionNavView/ – mohdcafory

+0

Dzięki temu zaoszczędziło mi to mnóstwo czasu. – Andy

+0

Dzięki, to mi pomogło. –

Odpowiedz

9

Miałem podobny problem. Pierwszy raz został pokazany dopiero po ponownym załadowaniu. Powodem jest buforowanie widoku. Wyłącz go cache: false, jak w moim konkretnym przypadku:

$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 
    }) 
Powiązane problemy