我有一个AngularJS应用程序,目前可以使用1.2.9角度版本,但是当我将库版本更改为1.3.2时,我收到以下错误:
参数'AlumnosController'不是函数,未定义
查看代码:
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="utf-8">
<title>Cuaderno Alumnos</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body ng-controller="AlumnosController">
<h1>Cuaderno Alumnos</h1>
<div class="wrapper">
<div class="contact-item" ng-repeat="alumno in alumnos | orderBy:'nombre'">
<div class="nombre"> {{alumno.nombre}} - {{alumno.telefono}}</div>
<span class="curso">{{alumno.curso}} </span>
</div>
</div>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js" type="text/javascript"></script>
<script src= "AlumnosController.js" type="text/javascript"></script>
</body>
控制器代码:
function AlumnosController($scope){
$scope.alumnos=[
{nombre:"Juan Blanco", telefono: "1234567890", curso:"Segundo ESO"},
{nombre:"Rosa Luxemburgo", telefono: "0987654321", curso:"Primero ESO"},
{nombre:"Alberto Herrera", telefono: "1122334455", curso:"Segundo ESO"},
{nombre:"Ana Mariño", telefono: "6677889900", curso:"Tercero ESO"}
];
}
有什么想法吗?
答案 0 :(得分:0)
Angular 1.3.0-beta-15中引入了一个重大变化:
重大改变
$ controller:由于3f2232b5, $ controller将不再在窗口中查找控制器。查看控制器窗口的旧行为最初打算用于示例,演示和玩具应用程序。我们发现允许全局控制器功能鼓励不良做法,因此我们决定默认禁用此行为。
要迁移,请使用模块注册控制器,而不是将它们公开为全局:
在:
function MyController() { // ... }
后:
angular.module('myApp', []).controller('MyController', [function() { // ... }]);
虽然不推荐,但您可以重新启用旧的行为:
angular.module('myModule').config(['$controllerProvider', function($controllerProvider) { // this option might be handy for migrating old apps, but please don't use it // in new ones! $controllerProvider.allowGlobals(); }]);
<强>参考强>