我正在尝试使用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文件。
答案 0 :(得分:1)
你的错误在于
<script src="..." />
你不能拥有自我关闭script
标签,所以它应该是
<script src="..." > </script>
Plunker演示答案:http://plnkr.co/edit/Mz1GRSFRxaUN9q6gUONl