默认情况下,AngularJS似乎不起作用,除非我把它放在<head>
中。有没有办法把它放在<body>
的末尾?
我的代码在页脚中看起来像这样:
$(document).ready(function() {
var myApp = angular.module("myApp", []);
myApp.bootstrap(document, ["myApp"]);
myApp.controller("AppController",["$scope", "$http", function() {
// so stuff with the $scope.
}]);
});
编辑3/31/14:
基于ederollora的回答并做了一些研究,我发现在定义所有内容后,需要调用angular.bootstrap()
。上面的代码变成了这样:
$(document).ready(function() {
var myApp = angular.module("myApp", []);
myApp.controller("AppController",["$scope", "$http", function() {
// so stuff with the $scope.
}]);
myApp.bootstrap(document, ["myApp"]); // compile the app last
});
另外,为了将我的应用程序从jQuery迁移到Angular,我将document.ready调用更改为angular版本:
angular.element(document).ready(function() {
var myApp = angular.module("myApp", []);
myApp.controller("AppController",["$scope", "$http", function() {
// so stuff with the $scope.
}]);
myApp.bootstrap(document, ["myApp"]); // compile the app last
});
在文档中没有明确规定在定义所有内容后必须调用angular.boostrap()
,所以我去改进了文档。
答案 0 :(得分:4)
来自AngularJS文档页面:
角度标记
此示例显示了将Angular与我们称之为自动初始化的推荐路径。
<!doctype html>
<html xmlns:ng="http://angularjs.org" ng-app>
<body>
...
<script src="angular.js">
</body>
</html>
- 将脚本标记放在页面底部。在页面末尾放置脚本标记可以缩短应用程序加载时间,因为加载angular.js脚本不会阻止HTML加载。您可以从http://code.angularjs.org获取最新的位。请不要将您的生产代码链接到此网址,因为它会在您的网站上暴露出安全漏洞。对于实验开发,链接到我们的网站是好的。
醇>
找到的信息为:here