Mam kontrolera nazwie newGroupCtrl którego definicja jest jak:angularjs ponownie zainicjować kontroler
.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;
};
}
sięgam to contoller z poprzedniej strony poprzez:
$window.location.href = ('#/new_group');
to dobrze aż do teraz. $rootScope.roomId
Zmienna jest poprawnie inicjowana w kontrolerze newGroupCtrl.
Z tej strony new_group, przechodzę do następnej strony. A kiedy wracam do tej strony, dzwoniąc pod numer $window.location.href = ('#/new_group');
, , $rootScope.roomId
, nie jest ona ponownie inicjowana, zamiast tego stara wartość nadal tam jest. Stan newGroupCtrl jest zachowany.
Jak mogę całkowicie reinicjować newGroupCtrl?
Co robi funkcja getRoom()? czy możesz udostępnić swoje dane kodu? –
Dodałem również kod getRoom, a także – Ozgen
Ponieważ używasz interfejsu użytkownika, powinieneś poruszać się z usługą $ state. $ state.go ("new_group"); – Okazari