我的AngularJS代码都没有被执行?

时间:2014-09-07 11:14:44

标签: javascript angularjs web

我正在尝试使用AngularJS,但是当我运行页面时,我的代码都没有被执行,网站上的输出只是{{angular-message}}。我收到错误“错误:[ng:areq] Argument'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!" 
}

2 个答案:

答案 0 :(得分:2)

页面中存在语法错误。 angular-message在Javascript中不是valid identifier,因此您应使用括号表示法:

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

甚至更好地使用camel case来表示变量和属性名称:

$scope.angularMessage = "AngularJS Rocks!";

还要确保在开发过程中始终保持开发人员控制台处于打开状态,以确保不会错过任何错误。

答案 1 :(得分:1)

如果您不想拥有模块,请将其编码为:

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

渲染:

{{angularMessage}}