模块& # 39;tripSee& # 39;当头文件中包含angular时不可用

Module 'tripSee' is not available when angular is included in the header

本文关键字:angular 包含 tripSee 模块 文件      更新时间:2023-09-26

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

头页

标题如下:

<!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>

抛出如下错误:

模块"tripSee"不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。

但是如果我把angular.js的include移到body区域,那么这个错误就会消失。我不明白为什么会这样。

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