AngularJS路由:URL中不必要的参数
angularJS routing: unnecessary params in url
在我的应用程序中,如果我收到密码重置说明,我会使用如下网址转到服务器:
/changepass?key=1231231231212312
在控制器中,我有这样的代码:
if (typeof $routeParams.key !== 'undefined') {
$scope.changePassword();
}
但是当我更改密码并想在同一视图中登录时,我去了另一个位置,但这个?key=123123123
仍然存在。我做错了什么,如何清空:/公司没有任何钥匙?
$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);
参见
- $location文档
不相关:
当你使用angularjs时,你可以使用它的内置函数,如angular.isDefined
。if(angular.isDefined($routeParams.key)){
$scope.changePassword();
}
相关文章:
- 骨干模型默认值-todos.js示例中不必要的代码
- JavaScript - 为什么这个闭包不保存参数
- 如何使用javascript在rgba中获取不透明度参数
- RadTreeView在IE11不必要的触发事件中不起作用
- “期望赋值或函数调用,而是看到了表达式.” - 不必要的控制台.log
- 避免在 Angular.js 中对绑定值进行不必要的评估
- 避免在视差滚动效果中对图像进行不必要的缩放
- Redux防止不必要的渲染
- Angular UI路由器:UI不使用参数构建href
- Rails3Ajax表单不发送参数
- 将对象this发送到不带参数的函数
- 在Chrome V8中实例化从Object扩展的类时,super()不传递参数
- 模板() 在车把中.js不接受参数
- Javascript - 预填充 cookie 信息,以在指向外部站点的链接上交叉传递不必要的登录页面
- AngularJS路由:URL中不必要的参数
- 使用变量而不是参数:一种不好的做法
- 简化这个不必要的JavaScript
- 函数不't在添加括号的情况下调用它时运行(即使它不需要参数)
- Angular js - 解决不将参数传递给控制器的问题
- 如何在使用 Sentry 时避免来自第三方扩展的不必要的崩溃报告