参见英文答案 >
Controller not a function,got undefined,while defining controllers globally14个
嗨,我正在关注angularjs的一些教程
嗨,我正在关注angularjs的一些教程
我正在使用angularjs版本1.3.0
这是我的代码
<div ng-app="" ng-controller="personController"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName+" " + lastName}} </div> <script type="text/javascript"> function personController($scope) { $scope.firstName = "David"; $scope.lastName = "Silva"; } </script>
而且我认为我和教程一样.但是当我用firebug检查时,它给了我以下错误.
Error: [ng:areq] Argument 'personController' is not a function,got undefined http://errors.angularjs.org/1.3.0/ng/areq? p0=personController&p1=not%20a%20function%2C%20got%20undefined
如何摆脱这个?
在1.3.0角度你必须这样做,因为全局控制器在1.3.0-beta中被禁用.
reference
<div ng-app="myApp" ng-controller="personController">
<script> var app = angular.module("myApp",[]); app.controller('personController',function($scope){ $scope.firstName = "David"; $scope.lastName = "Silva"; }) </script>
它还说你可以通过使用下面的代码获得旧的行为,但不建议
<div ng-app="myApp" ng-controller="personController"> var app = angular.module("myApp",[]).config(['$controllerProvider',function($controllerProvider) { $controllerProvider.allowGlobals(); }]); function personController($scope) { $scope.firstName = "David"; $scope.lastName = "Silva"; }