AngularJS错误:ng:使用控制器时areq Bad Argument

时间:2016-07-13 10:12:46

标签: javascript angularjs

我是AngularJs的初学者,我正在尝试在创建简单应用程序时使用控制器。但是我得到了一个错误,我无法弄清楚

  

错误:ng:areq Bad Argument。参数'languages'不是函数,未定义

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <title>Angular JS | Controllers</title>
    <script type="text/javascript" src="../resources/js/angular.min.js"></script>

    <script>
        (function(angular){
            var myApp = angular.module('myApp', []);
            myApp.controller = ('languages', function($scope){
                $scope.myFavLanguage = 'None';
            });
        })(window.angular);


    </script>
</head>
<body >

    <div ng-controller="languages">
        Select your favourite langauge:
        <button>ReactJS</button>
        <button>PHP</button>
        <button>JavaScript</button>
        <button>C++</button>

        <p>Your favourite language is {{myFavLanguage}}</p>
    </div>


</body>
</html>

我已经在互联网上搜索并在stackoverflow上经历了一些问题,并且无法让他们中的任何一个解决我的问题。 这些是我和其他几个人一起访问过的。请在将其标记为重复之前访问这些,因为它不是:

Angularjs bad argument ng:areq error

Angularjs: Error: [ng:areq] Argument 'HomeController' is not a function, got undefined

Argument ... is not a function, got undefined

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

要定义控制器,请使用controller()方法。

myApp.controller = ('languages', function($scope){
                 ^

从此处删除=

myApp.controller('languages', function($scope) {

查看Docs了解详情。

我建议您使用min-safe syntax

myApp.controller('languages', [$scope, function ('$scope') {

}]);