我有登录页面。当用户名和密码正确时,我想从登录页面重定向到HomePage.html页面。
的login.html
<ion-view view-title="Login" name="login-view">
<ion-content class="padding">
<div class="list list-inset">
<label class="item item-input">
<input type="text" placeholder="Username" ng-model="data.username">
</label>
<label class="item item-input">
<input type="password" placeholder="Password" ng-model="data.password">
</label>
</div>
<button class="button button-block button-calm" ng-click="login()">Login</button>
</ion-content>
</ion-view>
HomePage.html
<label id="test">test</label>
controller.js
.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup, $state) {
$scope.data = {};
$scope.login = function () {
LoginService.loginUser($scope.data.username, $scope.data.password).success(function (data) {
$state.go('/HomePage'); // This is not working for me
}).error(function (data) {
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!'
});
});
}
})
问题:
当我尝试下面的代码时
$state.go('/HomePage');
这不适合我。
我得到以下异常,如下所示
Error: Could not resolve '/HomePage' from state 'login'
如何从登录页面访问homepage.html页面。
我们将不胜感激。
感谢。
答案 0 :(得分:11)
使用它:
.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup,$location) {
$scope.data = {};
$scope.login = function () {
LoginService.loginUser($scope.data.username, $scope.data.password).success(function (data) {
$location.path('/HomePage'); // working
}).error(function (data) {
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!'
});
});
}
})
完整代码:
{{1}}
答案 1 :(得分:5)
使用它:
$state.go('app.HomePage'); //This is worked for me.
我的代码:
$scope.Login = function(form){
if(form.$valid) {
$http({
method : 'POST',
url : link,
data : {username : $scope.data.username, password : $scope.data.password,action: 'login'}, //forms user object
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data) {
$state.go('app.listings');
});
}
};
答案 2 :(得分:3)
使用州名而不是路径。例如:
$stateProvider
.state('auth', {
url: '/auth',
views: {
'nav_view_start': {
templateUrl: 'templates/auth/auth.html',
controller: 'AuthCtrl'
}
}
})
.state('main', {
url: '/main',
abstract: true,
cache: false,
views: {
'nav_view_start': {
templateUrl: 'templates/main/main.html',
controller: 'MainCtrl'
}
}
});
使用main
代替/main
。