错误:Error:areq定义控制器时参数错误
Error: error:areq Bad Argument while defining a controller
这是我第一次尝试使用Angular。我正在尝试从互联网上运行现有的代码,它给出了错误:
Error: error:areq Bad Argument
Argument 'ngAddressListController' is not a function, got undefined
此代码与AngularJS<1.3,但在1.3+中出现问题
代码如下:
HTML
<!doctype html>
<html ng-app="">
<head>
<title>Ng Addressbook</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.1/angular.min.js"></script>
<script src="main.js"> </script>
</head>
<body>
<div ng-controller="ngAddressListController">
<h3>Ng Address Book</h3>
<div id="container">
<h3>There are 4{{contacts}} Contacts So far</h3>
<ul>
<li>
<span>First Name</span>
<span>Last Name</span>
</li>
</ul>
</div>
</div>
</body>
</html>
main.js
function ngAddressListController($scope)
{
$scope.contacts = [
{first_name:'Jane', last_name:'Doe'},
{first_name:'Jhon', last_name:'Doe'}
];
}
看起来有角度<1.3是,我应该坚持下去吗?
我不确定,但考虑到您在那里定义控制器(带有裸露的全局函数)的方法在AngularJS文档中一直存在到1.2.19,然后在1.2.20中消失了,我认为这种方法是不赞成的。
定义控制器的传统方法如下:
// define an app module
angular.module('myApp', [])
// add a controller to it
.controller('ngAddressListController', ['$scope', function ($scope) {
$scope.contacts = [
{first_name:'Jane', last_name:'Doe'},
{first_name:'Jhon', last_name:'Doe'}
];
}]);
然后在你的HTML中,你会使用你的应用程序的名称:
<html ng-app="myApp">
从1.2.20版本开始,ngController文档的顶部就使用了这种风格。
https://docs.angularjs.org/guide/controller
另请参阅1.2.19文档中的注释:
注意:尽管Angular允许您在全局范围内创建控制器函数,但不建议这样做。在实际应用程序中,您应该使用角度模块的.controller方法进行应用程序,如下所示
相关文章:
- 模版启动错误-类型错误(“参数”url'必须是字符串,而不是“+类型的url”)
- Node.js错误:参数太多上传批量数据时出错
- 为什么我会得到这个错误:ng:areq错误参数
- AngularJS'ng:areq错误参数"{controller}不是函数“;,CodeIgnite
- 控制器错误:参数不是函数,未定义
- 错误:参数'ContactController'不是函数,未定义
- “类型错误:参数 1 的 ..不是 Firefox 中的有限浮点值”
- AngularJS错误:“参数'FirstCtrl'不是一个函数,未定义”
- “未捕获的语法错误:参数列表后缺少 )”
- Javascript 未捕获的语法错误:参数列表后缺少 )
- 错误:参数 4 的值无效.属性“方法”:意外属性
- 语法错误:参数列表后缺少 )
- 我一直收到这个角度js错误:参数“示例控制器”不是一个函数,未定义
- 角度:'错误:areq错误参数'由于缩小
- 错误:ng:areq错误参数:参数'registerController'不是函数,未定义
- 引用错误:参数未在 Ember.js 中定义
- Angular js-错误:ng:areq错误参数-
- 为什么我得到错误参数是未定义的
- WebGL Fragment Shader构造函数错误-参数太多
- 错误:ng:areq错误参数和参数没有在ANGULARJS中定义