AngularJS路线不起作用

时间:2012-10-25 13:07:19

标签: angularjs

我尝试从Angular JS制作“入门”教程,但在设置链接路径时遇到问题:当用户点击链接时,不会调用该路径的控制器。

这是我的代码:

angular.module('phonecat', []).
config(['$routeProvider',
    function ($routeProvider) {
        $routeProvider.
        when('/phones', {
            templateUrl: 'partials/phone-list.html',
            controller: PhoneListCtrl
        }).
        when('/phones/:phoneId', {
            templateUrl: 'partials/phone-detail.html',
            controller: PhoneDetailCtrl
        }).
        otherwise({
            redirectTo: '/phones'
        });
    }
]);

function PhoneDetailCtrl($scope, $routeParams, $http) {
    $scope.phoneId = $routeParams.phoneId;

    $scope.total = 4;
    $http.get('phones/' + $routeParams.phoneId + '.json').success(function (data) {
        $scope.phone = data;
    });
}

function PhoneListCtrl($scope, $http) {
    $http.get('phones/phones.json').success(function (data) {
        $scope.phones = data;
    });

    $scope.orderProp = 'age';
}

3 个答案:

答案 0 :(得分:2)

你使用了什么angularjs版本?我也遵循教程,它使用angular-1.0.0rc7.js,如果我在app.js文件中查找,它使用template而不是templateUrl

$routeProvider.when('/phones', {
    template: 'partials/phone-list.html',
    controller: PhoneListCtrl
});

因此,通过查看代码,您可能希望使用angular-1.0.3.js或RC之上的先前版本

答案 1 :(得分:1)

这应该可以,但您需要确保链接位于DOM元素内,该元素是您应用的根目录;即(ng-app='my-app')。 没有看到页面标记就很难分辨。

答案 2 :(得分:0)

提问者解决了这个问题:

  

我解决了这个问题 - 实际上我已经掌握了本教程下一步的HTML并且弄乱了应用程序,主要是因为它已经绑定了模型中不存在的属性。