[英]$location.path or $location.url doesn't trigger the ngRoute controller
I have a route defines as follows: 我有一条路线定义如下:
$routeProvider.
when('/projects/', {
controller: 'ProjectCtrl',
controllerAs: 'project_ctrl',
templateUrl: '/static/app/partials/project.html'
}).
After the login finishes I need the user to land on this link, hence in my controller I am using this: 登录完成后,我需要用户登录此链接,因此在我的控制器中,我正在使用此链接:
vm.login = function(form) {
if (form.$valid) {
loginService.login(vm.loginFormData.username, vm.loginFormData.password);
loginService.setUpUser()
$location.url("/projects");
}
}
But unfortunately the controller associated with this view is not triggered, that is ProjectCtrl is not triggered. 但是不幸的是,没有触发与此视图关联的控制器,即没有触发ProjectCtrl。 However when I click on the navigation link which uses in the dom, it works fine. 但是,当我单击在dom中使用的导航链接时,它可以正常工作。 Can someone please guide me here, may I am missing something conceptual. 有人可以在这里指导我吗,我可能缺少一些概念性的东西。
Hence the larger question is how do I redirect a user in the controller using some APIs which also complies with ngRoute based controllers. 因此,更大的问题是我如何使用一些也符合基于ngRoute的控制器的API在控制器中重定向用户。
Try removing the last /
in url so it matches $location.url("/projects");
尝试删除网址中的最后一个/
,使其与$location.url("/projects");
相匹配$location.url("/projects");
$routeProvider.
when('/projects', {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.