我正在尝试使用angularjs阻止页面重新加载。目前使用我的代码,页面不会重新加载,但它永远不会导航到另一个页面。这是代码
$scope.login = function(){
$scope.loading="loading";
Service.authenticate($.param({
username : $scope.username,
password : $scope.password,
}), function(res) {
if(res !== undefined){
if(res.success){
var windowElem = angular.element($window);
windowElem.on('beforeunload', function (event) {
event.preventDefault();
$(location).attr('href', '/dashboard');
})
}else{
$scope.error = res.message;
}
}
我不知道我是否正在尝试重新发明轮子,但页面没有重新加载导航
答案 0 :(得分:0)
我的建议是使用uirouter(https://github.com/angular-ui/ui-router/wiki)。
在您的应用中注册模块
角 .module(' myApp',[ ... ' ui.router&#39 ;, ... ])
在配置功能
中配置$ stateProvider.config(function($ stateProvider,...){
$stateProvider
.state('main.login', {
url : "/",
views : {
"login" : {
controller : 'LoginCtrl',
templateUrl : 'views/login/login.html'
}
}
})
...
成功登录后,您可以使用$ state服务更改 应用程序的状态(如此页面),显然没有重新加载页面。
$ state.go(' main.whereverRegisteredState',{some:data});
我不会向您解释应用程序设置,控制器,视图或服务注入,只需按照官方文档。
希望有所帮助