Ich habe eine ionische App erstellt, die den Token-Wert jedes Mal setzt, wenn eine erfolgreiche Anmeldung vom Benutzer vorgenommen wurde. Dann wird $ state.go verwendet, um den Benutzer zu einem anderen Tab "tab.scan" umzuleiten.Überprüfen Sie den lokalen Speicherwert und übergeben Sie Parameter unter state.go in IONIC
Wenn der Benutzer in der Navigationsleiste auf die Registerkarte "tab.details" geklickt hat, wird der Benutzer auf "tab.details" umgeleitet, ohne irgendwelche Parameter zu übergeben.
Die Seite "Details" konnte den Wert des gespeicherten Tokens jedoch nicht ermitteln. Wie kann ich es tun?
Es funktioniert gut, wenn die URL url: '/details'
anstelle von url: '/details/:store_id/:invoice_id'
ist.
-Code für die Anmeldung
.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup, $state, $stateParams) {
$scope.data = {};
$scope.token = { token: "" };
$scope.login = function() {
LoginService.loginUser($scope.data.username, $scope.data.password).success(function (data) {
//Set login token
localStorage.setItem("token", $scope.data.username);
//Redirect the user to scan tab
$state.go('tab.scan', { store_id: $scope.data.store_id });
//Popup alert for welcome message
var alertPopup = $ionicPopup.alert({
title: 'Login Success!',
template: 'Welcome ' + localStorage.getItem("token") + '!'
});
}).error(function (data) {
//Failed login, popup error message
var alertPopup = $ionicPopup.alert({
title: 'Login Failed!',
template: 'Please check your credentials!'
});
});
}
})
-Code für Tabs
.state('tab.details', {
cache: false,
url: '/details/:store_id/:invoice_id',
views: {
'tab-details': {
templateUrl: 'templates/tab-details.php',
controller: 'DetailsCtrl'
}
}
})
-Code für Detail-Controller
.controller('DetailsController', function ($scope, $http, $state, $ionicPopup, $stateParams) {
$scope.token = localStorage.getItem("token");
console.log($scope.token);
if ($scope.token == "logOut") {
$state.go('login');
var alertPopup = $ionicPopup.alert({
title: 'Login Required!',
template: 'Please login to access.'
});
}
else {
}
})