AngularJS中的重定向由于某种原因不起作用

时间:2015-11-13 09:32:16

标签: angularjs

请告知我如何在AngularJS中进行重定向? 我试着用几个选项:

$location.path('/TemplateView');

当我这样做时,我可以看到一些获取请求,但页面保持不变。

我也尝试过:$scope.$state...但Angular不承认它。

谷歌搜索没有帮助。

1 个答案:

答案 0 :(得分:1)

要使用$location.path(),您必须做三件事:

注入ngRoute模块:

angular.module('app', ['ngRoute']);

定义路线:

angular.module('app')
    .config(['$routeProvider', function ($routeProvider) {
        $routeProvider
            .when('/TemplateView', {
                controller: 'TemplateCtrl',
                templateUrl: 'templates/index.html'
            });
    }]);

在控制器中进行重定向(假设您将$location注入控制器)

$location.path('/TemplateView');

注意: 更改路由/模板并不一定意味着您必须查看GET请求或任何其他请求。 AngularJS是一个单页框架,因此如果您的浏览器已经下载了所有部分,则更改视图/控制器将不会对服务器进行任何调用(只需使用本地内容进行操作,您的浏览器已经下载)。