0

我使用 angularJS 并想将路由添加到我的应用程序。但我有错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module countriesModule due to:
Error: [$injector:nomod] Module 'countriesModule' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

这是我的文件 app.js:

var countryApp = angular.module('countryApp', ['ngRoute', 'countriesDataModule']);

countryApp.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('data/', {
        templateUrl : 'partials/countries.html',
        controller : 'CountriesListCtrl'
    }).when('data/:countryUrl', {
        templateUrl : 'partials/country-details.html',
        controller : 'CountryDetailsCtrl'
    }).otherwise({
        redirectTo : '/countries'
    });
}]);

和文件controllers.js:

var countriesDataModule = angular.module('countriesDataModule', []);

countriesDataModule.controller('CountriesListCtrl', ['$scope', '$http', function ($scope, $http) {
    $http.get('data/countries.json').success(function (data) {
        $scope.countries = data;
        $scope.selectedProp = 'countryId';
    });
}]);

countriesDataModule.controller('CountryDetailsCtrl', ['scope', '$routeParams', function ($scope, $routeParams) {
    $scope.countyUrl = $routeParams.countryUrl;
}]);

索引.html 文件:

<!DOCTYPE html>
<html lang="en" ng-app="countriesModule">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="css/common.css">
    <script src="bower_components/jquery-2.2.3.min/jquery-2.2.3.min.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="js/app.js"></script>
    <script src="js/controllers.js"></script>
    <title>Document</title>
</head>
<body>
<div class="container">
    <header>
        <h1>Сountry for travel</h1>
    </header>
    <main>
        <div ng-view></div>
    </main>
</div>
</body>
</html>

我的项目结构:

在此处输入图像描述

我访问了其他页面并看到了一些提示:

AngularJS 1.2 $injector:modulerr

Angular JS 未捕获错误:[$injector:modulerr]

https://docs.angularjs.org/error/ $injector/modulerr?p0=countriesModule&p1=%E2%80%A62Flocalhost:8080%2Fbower_components%2Fangular%2Fangular.min.js:21:19

但不幸的是它没有帮助我

4

1 回答 1

2

您共享的代码中没有引用任何名为 countriesModule 的内容。

于 2016-04-27T13:12:00.017 回答