【问题标题】:None of my AngularJS code is being executed?我的 AngularJS 代码都没有被执行?
【发布时间】:2014-09-07 11:14:44
【问题描述】:

我试图从 AngularJS 开始,但是当我运行页面时,我的代码都没有被执行,输出只是网站上的 {{angular-message}}。我收到错误“错误:[ng:areq] 参数'MainController'不是函数,未定义”这是代码

index.html

<!DOCTYPE html>
<html ng-app>

  <head data-gwd-animation-mode="quickMode">
    <title>Angular!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Google Web Designer 1.1.2.0814">
    <style type="text/css">
      html, body {
        width: 100%;
        height: 100%;
        margin: 0px;
      }
      body {
        background-color: transparent;
        -webkit-transform: perspective(1400px) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        -webkit-transform-style: preserve-3d;
      }
    </style>


    <script data-require="angular.js@*" src="https://code.angularjs.org/1.3.0-rc.0/angular.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-controller="MainController">
    {{angular-message}}
  </body>

</html>

这是我的 script.js 文件。

var MainController = function($scope)
{
    $scope.angular-message = "AngularJS Rocks!" 
}

【问题讨论】:

  • 您是否检查过您的控制台或任何错误?
  • @DesignbyAdrian 我忘了检查,但我刚刚检查了,它说“错误:[ng:areq] Argument 'MainController' 不是函数,未定义”
  • 如果你用驼峰命名你的控制器名称会发生​​什么?

标签: javascript angularjs web


【解决方案1】:

页面中有语法错误。 angular-message 不是 Javascript 中的 valid identifier,所以你应该使用括号表示法:

$scope['angular-message'] = "AngularJS Rocks!";

或者更好地使用骆驼大小写变量和属性名称:

$scope.angularMessage = "AngularJS Rocks!";

还要确保在开发过程中始终保持开发者控制台打开,以确保您不会错过任何错误。

【讨论】:

【解决方案2】:

如果你不想有模块,编码如下:

function MainController($scope)
{
   $scope.angularMessage = "AngularJS Rocks!" 
}

渲染:

{{angularMessage}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 2017-05-12
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多