由于以下原因无法实例化模块demoApp:错误:[$ injector:nomod]模块'demoApp'不可用

时间:2016-07-05 12:43:54

标签: javascript angularjs single-page-application ngroute

我正在尝试使用angular和ngRoute / ngView构建一个简单的SPA。我根本无法使它发挥作用。

我收到错误:angular.js:68 未捕获的错误:[$ injector:modulerr]由于以下原因无法实例化模块demoApp: 错误:[$ injector:nomod]模块'demoApp'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我已经查看了网络上的各种代码示例以及youtube教程,并将我的代码与他们的代码进行了比较,但我根本无法弄清楚我做错了什么。对我来说,它们看起来完全相同。

我提前道歉,这似乎是一个过去曾被问过很多的问题,但以前的答案对我没有任何帮助。

这是我的HTML文件,它被称为“test.html”。    

<html ng-app="demoApp">
  <head>
        <title>My Angular App</title>

  </head>

  <body>
      <h2>DemoApp Demo</h2>
        <div>
            <a href="#/partial1.html">Partial 1</a>
            <a href="#/partial2.html">Partial 2</a>
            <div ng-view></div>     
        </div>
        <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js"></script>
        <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.js"></script>
        <script src = "demoApp.js" />
  </body>
</html>

这是“demoApp.js”,它与test.html在同一目录中

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

demoApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider

        .when('/partial1',
        {
            controller: 'SimpleController',
            templateUrl: 'Partials/partial1.html'
        }).when('/partial2',
        {
            controller: 'SimpleController',
            templateUrl: 'Partials/partial2.html'
        }).otherwise({redirectTo: '/partial1'});
}]);


demoApp.controller('SimpleController', function($scope){
    $scope.customers = [
        {name:'Victor', city:'Norrköping'}, 
        {name:'Mikael', city:'Göteborg'}, 
        {name:'Jocke',  city:'Göteborg'}, 
        {name:'Skåne',  city:'Ystad'}
    ];

    $scope.addCustomer = function(){
        $scope.customers.push(
        {
            name: $scope.newCustomer.name, 
            city: $scope.newCustomer.city
        });
    }
});

我没有包含Partial1和Partial2,因为它们似乎与问题无关,因为它们只是没有脚本的简单HTML文件。

1 个答案:

答案 0 :(得分:1)

你的错误在于

<script src="..." />

你不能拥有自我关闭script标签,所以它应该是

<script src="..." > </script>

Plunker演示答案:http://plnkr.co/edit/Mz1GRSFRxaUN9q6gUONl