AngularJS:找不到以下错误的原因:[ng:areq]参数'MyCtrl'不是函数,未定义

时间:2015-06-09 15:18:32

标签: angularjs

我是AngularJS的新手,刚开始像30分钟前一样学习它,并尝试用一些基础知识来练习。我看到类似的帖子有相同的错误,但找不到解决方案。

我有一个简单的html:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title></title>
   <script src="../Scripts/angular.js"></script>
   <script src="../Scripts/app.js"></script>
</head>
<body ng-app>
   <div ng-controller="MyCtrl"> 
      <button ng-click="toggle()">Toggle</button> 
      <p ng-show="visible">Hello World!</p> 
   </div>
</body>
</html>

app.js文件中的控制器:

function MyCtrl($scope) {
   $scope.visible = true;

   $scope.toggle = function () {
      $scope.visible = !$scope.visible;
   }; 
}

加载页面时,我在一个问题中出错。

这可能有什么问题?

1 个答案:

答案 0 :(得分:1)

您需要首先定义角度module,然后在其中添加controllerdirectivefactory等组件,然后您需要在其中添加该模块ng-app指令。

<强>标记

<body ng-app="myApp">
   <div ng-controller="MyCtrl"> 
      <button ng-click="toggle()">Toggle</button> 
      <p ng-show="visible">Hello World!</p> 
   </div>
</body>

<强>代码

angular.module('myApp', [])
.controller('MyCtrl', MyCtrl)
function MyCtrl($scope) {
   $scope.visible = true;
   $scope.toggle = function () {
      $scope.visible = !$scope.visible;
   }; 
};

Demo here