我正在尝试学习Angular并尝试在基于Web的教程之外编写我的第一个控制器。我一直在JS控制台的标题中得到错误,无法弄清楚发生了什么。该链接将我带到一个页面,引用了包含ngRoute的需求,我已经根据API完成了这项工作。当然,我错过了一些东西,但我无法看到它是什么。非常感谢任何帮助,谢谢!
的index.html
<DOCTYPE html>
<html ng-app="myApp">
<head>
<title>First Angular Project</title>
<link href="bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container" ng-controller="FirstController">
Did the controller load?
</div>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="angular-route.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
app.js
(function () {
var app = angular.module('myApp', ['ngRoute']);
app.controller('FirstController', function(){
console.log("FirstController loaded");
});
})
答案 0 :(得分:6)
您的问题是您忘记调用注册模块和控制器的iife。
(function () {
var app = angular.module('myApp', ['ngRoute']);
app.controller('FirstController', function(){
console.log("FirstController loaded");
});
})();//<-- here
链接(在错误中)将ngRoute作为提示进行讨论,仅仅是因为当ng-app
指令尝试引导它时,您的模块可能没有可用/实例化的原因之一。但是在你的情况下它甚至不存在,因为你没有调用匿名函数作为IIFE。