我有一个奇怪的问题,与我定义模块的位置相比,我加载角度的顺序似乎有问题。我的页面看起来像这样:
标题 页
标题看起来像这样:
<!DOCTYPE html>
<html ng-app="tripSee">
<head>
<script src="js/angular.min.js"></script>
</head>
<title></title>
页面如下:
<body>
stuff stuff stuff
<script>
(function(){
var app = angular.module('tripSee', []);
app.controller('TripController', function(){
this.name = "Ray";
});
})();
</script>
</body>
</html>
这会引发如下错误:
模块&#39; tripSee&#39;不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
但是如果我将angular.js include移动到身体区域,那么这个错误就会消失。我不明白为什么会这样。
答案 0 :(得分:1)
我的猜测是异步与同步脚本加载的时间。我相信Angular引用将异步加载,而定义模块的嵌入式脚本将在加载和解析页面HTML时同步运行。通常最好将JavaScript放在单独的文件中而不是嵌入它,这样做可以解决您的计时问题。