ho avuto un controller di nome newGroupCtrl la cui definizione è come:AngularJS Reinitialize regolatore
.state('new_group', {
url: '/new_group',
templateUrl: 'templates/new_group.html',
controller: 'newGroupCtrl'
})
.controller('newGroupCtrl', function ($scope, $rootScope,$ionicHistory,$window) {
$rootScope.roomId = $scope.getRoom();
$scope.getRoom = function() {
var date = new Date;
var minutes = date.getMinutes();
var hour = date.getHours();
return 'room_' + hour + '' + minutes;
};
}
raggiungo questo contoller dalla pagina precedente da:
$window.location.href = ('#/new_group');
che è buono fino ad ora. La variabile $rootScope.roomId
viene inizializzata correttamente nel controller newGroupCtrl.
Da questa pagina new_group, si passa a un'altra pagina. E quando torno a questa pagina chiamando lo $window.location.href = ('#/new_group');
, $rootScope.roomId
non viene nuovamente inizializzato, invece il suo vecchio valore è ancora lì. Lo stato del nuovoGroupCtrl viene mantenuto.
Come posso reinizializzare completamente newGroupCtrl?
Cosa fa il getRoom()? puoi condividere i dettagli del codice? –
Ho aggiunto anche il codice getRoom – Ozgen
Dato che stai usando ui-router, dovresti navigare con il servizio $ state. $ State.go ('nuovo_gruppo'); – Okazari