2015-06-09 48 views
1

我是AngularJS的新手,刚开始学习它就像30分钟前,并试图练习有一些基础知识可以开始。我看到类似的帖子有相同的错误,但找不到解决方案。AngularJS:无法找到以下错误的原因:[ng:areq]参数'MyCtrl'不是一个函数,得到undefined

我有一个简单的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

您需要定义角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

+1

感谢您解释 – gene

+0

@gene很乐意帮忙周到,谢谢:) –

相关问题