【问题标题】:Why is angular not declared?为什么没有声明角度?
【发布时间】:2015-09-18 16:51:23
【问题描述】:

我正在学习 AngularJS 并尝试做我的第一个应用程序,我计算消息文本区域中剩余的字符数。但是,当我有

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
                    var app = angular.module("myContactApp", []);
                    app.controller("nmContactCtrl", function ($scope) {
                        console.log("In nmContactCtrl");
                        $scope.message = "";
                        $scope.charactersLeft = function () {
                            return 200 - $scope.userMessage.length;
                        };
                    });
</script>

“angular.module”在“var app = angular.module("myContactApp", []);" 中给出错误说“未声明全局变量 angular”。我在脚本中有缩小的 angular.js。不知道为什么这会显示错误。

请告诉我。谢谢。

【问题讨论】:

  • 你是否在 angular 之前也包含了 jquery?
  • @Venice jQuery 不是 Angular 的先决条件。
  • @NeilS 啊,好一个。如果 jQuery 不存在,我没有意识到它会退回到 jQLite。除了你的问题,我确实看到他的 src 属性开头没有引号。
  • 对不起,我错过了这里的引号。我在我的实际文件中有它。不知道为什么没有声明 angular。
  • 一定有其他问题或阻止脚本加载。也许发布您的 html 文件的全部内容会有所帮助。

标签: angularjs


【解决方案1】:

您缺少引号。

<script src="http

<html>
<head></head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
                    var app = angular.module("myContactApp", []);
                    app.controller("nmContactCtrl", function ($scope) {
                        console.log("In nmContactCtrl");
                        $scope.message = "";
                        $scope.charactersLeft = function () {
                            return 200 - $scope.userMessage.length;
                        };
                    });
</script>
</body>
</html>

如果我在本地运行,这里没有错误。

【讨论】:

  • 对不起,我错过了这里的引号。我在我的实际文件中有它。不知道为什么没有声明 angular。
  • 即使在控制台中打印了消息,我仍然在编辑器中看到“未声明全局变量 angular”。不知道为什么......我们需要声明它吗?我以为它是由 angularJS 照顾的。
  • 你指的是哪个编辑器?您是在谈论您的 IDE 吗?
  • 是的,尼尔。我有 Eclipse IDE。它给出了黄线,说明没有声明 angular。
  • 感谢 Neil 告知这是 Eclipse 问题,而不是我的代码。我也会研究您链接的解决方案。谢谢。
【解决方案2】:

您有“https”网站吗?因为当我尝试在 jsfiddle 上重复此操作时,我收到了此错误,因为还有另一个错误:“该页面是通过 HTTPS 加载的,但请求了一个不安全的脚本”

所以,如果你使用 https,那么你也应该通过 https 加载 AngularJS:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-10
    • 2021-01-02
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多