我收到错误:[ng:areq] Argument'nameController'不是函数

时间:2015-06-20 16:45:10

标签: javascript angularjs angularjs-scope angularjs-controller

我收到以下错误

Error: [ng:areq] Argument 'nameController' is not a function, got undefined http://errors.angularjs.org/1.3.7/ng/areq?p0=nameController&p1=not%20a%20function%2C%20got%20undefined
    at REGEX_STRING_REGEXP (angular.js:63)
    at assertArg (angular.js:1575)
    at assertArgFn (angular.js:1585)
    at angular.js:8416
    at angular.js:7590
    at forEach (angular.js:331)
    at nodeLinkFn (angular.js:7577)
    at compositeLinkFn (angular.js:7073)
    at compositeLinkFn (angular.js:7076)
    at publicLinkFn (angular.js:6952)

我尝试将角度版本更改为低版本并使用CDN但它无法正常工作。尝试检查语法错误。

我的功能声明是否正确?如何解决此错误。

[Plunkr] [1]

http://plnkr.co/edit/HcPXYTb5p6wrsDobdGFg?p=preview enter code here

1 个答案:

答案 0 :(得分:2)

在角度1.3之后,您无法使用角度控制器的全局声明。要解决此问题,您需要首先创建角度模块,然后将角度组件分配给它,如控制器,指令,服务,工厂,过滤器等。

// Code goes here
angular.module('app',[])
.controller('nameController', nameController)
function nameController($scope) {
    $scope.firstName = 'allen';
    $scope.lastName = 'martin';
}

然后在你的html中使用ng-app="app"上创建的模块。

Demo Plunkr