$ routeProvider不工作角度

时间:2013-05-08 18:33:59

标签: angularjs angular-routing

这是我的app.js

var cricketapp = angular.module('cricketapp', ['ngCookies']).
    config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
        $routeProvider.
            when('/', {
                templateUrl: '/partials/games-pending-entry.html',
                controller: HomeCtrl
            }).
            when('game/:gameId',{
                templateUrl: 'partials/shortlist.html',
                controller: ShortlistCtrl
            }).
            otherwise({redirectTo: '/'});
        //$httpProvider.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
    }]);

和controllers.js

function HomeCtrl($scope, $http){
    $http.get('/api/games-pending-entry').success(function(data){
        $scope.games_pending_entry = data;
    });
}

function ShortlistCtrl($scope, $http, $routeParams){
    $scope.gameId = $routeParams.gameId;
    $http.get('api/get-players').success(function(data){
        $scope.players = data;
    })
}

在我的html中,我将链接称为

<a class='btn btn-warning' href='#/game/{{ game.id }}'>Enter Shortlist</a>

当我点击此链接时,我被重定向回/#/

我哪里错了?

1 个答案:

答案 0 :(得分:3)

你的$ routeProvider规则是错误的:

when('game/:gameId',{

应该成为

when('/game/:gameId',{

由于无法识别路线,因此会重定向至“/”。改变这种情况很可能会解决问题。

另外,在{{model}}绑定解决之前,您可能会发现ngHref很有用,以避免链接断开:http://docs.angularjs.org/api/ng.directive:ngHref