我正在处理登录页面,成功后,它会重定向到主页。默认情况下,我显示登录页面此代码:
app.run(function($rootScope, $location) {
$rootScope.$on('$routeChangeSuccess', function() {
$location.url("/login");
});
});
然后从后端验证用户/通行证详细信息后,我将用户带到主页:
$scope.login = function() {
if ($scope.username === 'admin' && $scope.password === 'pass') {
console.log('successful')
$rootScope.$on('$routeChangeSuccess', function() {
$location.url("/home")
});
$location.url("/blah");
} else {
$scope.loginError = "Invalid username/password combination";
console.log('Login failed..')
};
};
如果我删除语句部分$location.url
之前的第二个,重定向似乎不起作用。但是,它没有使用该 url ( ),而是转到. 但如果 url被删除,则重定向逻辑不起作用。else
if
/blah
home
blah
我似乎无法理解为什么我必须使用两个$location.url()
. 如果有人可以帮助我了解此重定向系统的工作原理,我将不胜感激?
这可能不是最佳实践,我愿意接受有关如何改进这一点的建议,这里是Plunker 示例