在我的网站上,我正在开发一个简单的AngularJS功能 - 从模块控制器发出警报。这是我的代码:
app1.js:
(function() {
var app1 = angular.module('myApp', []);
app1.controller('MyController', function() {
alert('Hey');
});
});
的index.html:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="myApp">
<head>
<title>Angular</title>
<script src="Scripts/angular.min.js"></script>
<script src="Scripts/app1.js"></script>
</head>
<body ng-controller="MyController">
{{5 + 3}}
</body>
</html>
导致我的浏览器应该是:
8
发出警告并发出消息&#34;嘿&#34;,对吗?我得到的只是在我的浏览器中:
{{5 + 3}}
任何想法如何解决这个问题?
答案 0 :(得分:12)
您从未调用应用和控制器初始化代码,您需要执行此操作:
(function() {
var app1 = angular.module('myApp', []);
app1.controller('MyController', function() {
alert('Hey');
});
})(); // <=== Change is here
说明:
(function() { /*code*/});
将创建一个匿名函数,但不会调用该函数。要调用它,您需要在()
:
;
(function() { /*code*/})();
// Here ----------------^
更多:http://en.wikipedia.org/wiki/Immediately-invoked_function_expression