我有一个基于谷歌的Angular js框架的代码。 该代码定义了一些路由并将视图关联到url路径。 代码就像这样
var profileModule = angular.module('profileModule', ['ngResource']);
profileModule.config(function ($routeProvider) {
$routeProvider
.when('/', {
controller: 'profileController',
templateUrl: 'Partials/profileList.html'
})
.otherwise({ redirectTo: '/' });
$routeProvider.when('/profile/:profileId', {
templateUrl: 'Partials/profileDetail.html',
controller: 'profileDetailController'
});
});
profileModule.controller('profileController', function($scope, profileFactory) {
$scope.profiles = [];
function init() {
$scope.profiles = profileFactory.query();
}
init();
});
profileModule.factory('profileFactory', function ($resource) {
return $resource("api/profiles/:Id", { Id: "@Id" }, { "update": { method: "PUT" } });
});
代码使用的是Angular的1.1.5版本,并且工作正常。
但后来我尝试使用较新版本1.2.3
并且代码无法在此版本上运行。
它给出了这个错误
[$injector:unpr] Unknown provider: $routeProvider
我查看了如何在1.2.3中使用routeProvider的示例 我从网站上找到了这个例子
profileModule.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.....
我试过这个,但仍然是同样的错误
我在CDN网络中使用Angular,特别是从这里
http://code.angularjs.org/1.2.3/angular-route.js
答案 0 :(得分:1)
您还需要依赖ngRoute
模块:
var profileModule = angular.module('profileModule', ['ngResource', 'ngRoute']);
答案 1 :(得分:1)
自Angular v 1.2以来,他们已将路由分离为单独的文件,因此您必须将其包含在代码中,然后将其注入模块中。
你可以在这里找到最新版本(angular-route.js): http://code.angularjs.org/1.2.3/