角度1.3无法找到控制器功能

时间:2014-09-05 05:33:06

标签: javascript html angularjs

我是棱角分明的新手并尝试使用1.3新版本 这是我的代码

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.0/angular.min.js"></script>
</head>
<body>
<div data-ng-controller="SimpleController"  >

<ul>        
<li data-ng-repeat="customer in customers">{{customer.name}} - {{customer.city}}</li>
</ul>


</div>
<script>

function SimpleController($scope){

    alert('done1');
    $scope.customers=[{name:'1name',city:'1city'},{name:'2name',city:'2city'}];
    alert('done');
} 
</script>

控制台出现此错误。

Error: [ng:areq] http://errors.angularjs.org/1.3.0-rc.0/ng/areq?p0=SimpleController&p1=not%20a%20function%2C%20got%20undefined    

但是当我将角度源更改为

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>   

然后它有效。我用铬。 任何人都让我知道问题出在哪里。

1 个答案:

答案 0 :(得分:23)

默认情况下,1.3不再支持全局控制器功能。见change log ...

  

$ controller将不再在窗口上查找控制器。老人   最初打算在控制器窗口上查看行为   用于示例,演示和玩具应用程序。我们发现允许   全球控制器功能鼓励不良做法,所以我们解决了   默认情况下禁用此行为。

可以使用此配置重新启用...

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();
}]);