$ location.path或$ location.url不会触发ngRoute控制器

时间:2016-03-07 00:50:03

标签: angularjs ngroute

我的路线定义如下:

$routeProvider.
        when('/projects/', {
            controller: 'ProjectCtrl',
            controllerAs: 'project_ctrl',
            templateUrl: '/static/app/partials/project.html'
        }).

登录完成后,我需要用户登陆此链接,因此在我的控制器中我使用的是:

vm.login = function(form) {
            if (form.$valid) {
                loginService.login(vm.loginFormData.username, vm.loginFormData.password);
                loginService.setUpUser()
                $location.url("/projects");
            }
        }

但遗憾的是,未触发与此视图关联的控制器,即未触发ProjectCtrl。但是,当我点击dom中使用的导航链接时,它工作正常。有人可以在这里指导我,我可能会遗漏一些概念性的东西。

因此,更大的问题是如何使用一些也符合基于ngRoute的控制器的API重定向控制器中的用户。

1 个答案:

答案 0 :(得分:1)

尝试删除网址中的最后一个/,使其与$location.url("/projects");

匹配
$routeProvider.
        when('/projects', {