我尝试从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';
}
答案 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并且弄乱了应用程序,主要是因为它已经绑定了模型中不存在的属性。