我成功登录后尝试移动到用户的主页面。 通过调用$ location.path()可以正确更新浏览器的地址栏,但不会重新加载页面。
我知道这是一个常见的问题,有几个可能的原因。
这是登录控制器:
var swControllers = angular.module('swControllers', []);
swControllers.controller('LoginCtrl', ['$scope', '$location', 'authentication',
function($scope, $location, authentication) {
authentication.ClearCredentials();
$scope.login = function () {
$scope.dataLoading = true;
authentication.Login($scope.email, $scope.password, function(response) {
$scope.dataLoading = false;
if (response.success) {
authentication.SetCredentials($scope.email, $scope.password);
$location.path('userHome');
//$location.absUrl('http://google.com');
//$scope = angular.element(document).scope();
//$scope.$apply();
} else {
$scope.error = response.message;
// $scope.dataLoading = false;
}
});
};
}]);
我有更多的一般建筑问题:依靠ngRoute来处理这种东西是否更清晰?这是否意味着我只限于单页应用程序?
因为我在服务器端使用Express + jade模板视图,当前登录页面和userHome驻留在两个不同的模板上。
我对服务器端和客户端路由之间的相互作用感到有点眩目......