I'm trying to create a login page in ionic for mobile app where after the user enter some ID and password, it will navigate to another page. I try to use the state.go and location.path but it doesn't work. Here's the code:
angular.module('app.controllers', ['ionic','ui.router'])
.controller('loginCtrl', function($scope, $ionicPopup, $state) {
$scope.data ={};
$scope.submitData = function(){
if($scope.data.email && $scope.data.password){
var alertPopup = $ionicPopup.alert({
title: "Login Succesful",
template: "Welcome Back "
});
$state.go('stateHome');
}else{
var alertPopup = $ionicPopup.alert({
title: "Login Failed",
template: "Please check your credentials"
});
}
}
})
app.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('stateHome', {
url: '/Home',
views: {
'Home' :{
templateUrl : "templates/Home.html",
controller : 'HomeCtrl'
}
}
});
$urlRouterProvider.otherwise('/Setting');
})
My app.js contain :
angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
any idea how to solve this?
Try modifying your files as follows. It should work. I can elaborate if you find it confusing.
app.js
angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state('stateHome', {
url: '/Home',
templateUrl: 'templates/Home.html',
controller: 'HomeCtrl'
})
$urlRouterProvider.otherwise('/Setting');
})
controllers.js
angular.module('app.controllers', [])
.controller('loginCtrl', function($scope, $ionicPopup, $state, $location) {
$scope.data ={};
$scope.submitData = function(){
$scope.goToHomePage = function () {
$location.path("/Home");
};
if($scope.data.email && $scope.data.password){
var alertPopup = $ionicPopup.alert({
title: "Login Succesful",
template: "Welcome Back "
});
alertPopup.then(function(res) {
if(res) {
$scope.goToHomePage();
} else {
console.log('Do something else');
}
});
}else{
var alertPopup = $ionicPopup.alert({
title: "Login Failed",
template: "Please check your credentials"
});
}
}
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With