angularJS 路由:url 中的不必要参数
angularJS routing: unnecessary params in url
在我的应用程序中,如果我收到密码重置说明,我会使用 url 转到服务器,例如:
/changepass?key=1231231231212312
在控制器中我有这样的代码:
if (typeof $routeParams.key !== 'undefined') {
$scope.changePassword();
}
但是当我更改密码并想在同一视图中登录时,我转到了另一个位置,但是这个 ?key=123123123
仍然存在。我做错了什么,如何在没有任何键的情况下清空:/company?
$scope.login = function() {
***
$location.path('/company');
***
};
我也试过了$scope.$apply($location.path('/company'));
但是当我登录后去公司时,我仍然在 url 中有参数。如何解决?
路由中:
.when('/signin', {
templateUrl: 'views/authorization.html',
controller: 'AuthorizationCtrl'
})
.when('/changepass', {
templateUrl: 'views/authorization.html',
controller: 'AuthorizationCtrl'
})
有两种方法可以实现这一点
$location#url
$location.url($location.path('/company'));
$location.search
$location.search('key', null);
另见
不相关:
当您使用 angularjs 时,您可以使用它的内置函数,例如 angular.isDefined
if(angular.isDefined($routeParams.key)){
$scope.changePassword();
}
在我的应用程序中,如果我收到密码重置说明,我会使用 url 转到服务器,例如:
/changepass?key=1231231231212312
在控制器中我有这样的代码:
if (typeof $routeParams.key !== 'undefined') {
$scope.changePassword();
}
但是当我更改密码并想在同一视图中登录时,我转到了另一个位置,但是这个 ?key=123123123
仍然存在。我做错了什么,如何在没有任何键的情况下清空:/company?
$scope.login = function() {
***
$location.path('/company');
***
};
我也试过了$scope.$apply($location.path('/company'));
但是当我登录后去公司时,我仍然在 url 中有参数。如何解决?
路由中:
.when('/signin', {
templateUrl: 'views/authorization.html',
controller: 'AuthorizationCtrl'
})
.when('/changepass', {
templateUrl: 'views/authorization.html',
controller: 'AuthorizationCtrl'
})
有两种方法可以实现这一点
$location#url
$location.url($location.path('/company'));
$location.search
$location.search('key', null);
另见
不相关:
当您使用 angularjs 时,您可以使用它的内置函数,例如 angular.isDefined
if(angular.isDefined($routeParams.key)){
$scope.changePassword();
}