模块' tripSee'标题中包含角度时不可用

时间:2015-08-27 02:09:59

标签: javascript angularjs

我有一个奇怪的问题,与我定义模块的位置相比,我加载角度的顺序似乎有问题。我的页面看起来像这样:

标题 页

标题看起来像这样:

<!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移动到身体区域,那么这个错误就会消失。我不明白为什么会这样。

1 个答案:

答案 0 :(得分:1)

我的猜测是异步与同步脚本加载的时间。我相信Angular引用将异步加载,而定义模块的嵌入式脚本将在加载和解析页面HTML时同步运行。通常最好将JavaScript放在单独的文件中而不是嵌入它,这样做可以解决您的计时问题。