2014-09-05 201 views
12

我是新來的角,並試圖與1.3新版本。
這裏是我的代碼角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> 

然後,它的工作原理。我使用鉻。 任何人都可以告訴我問題存在的地方。

+0

嘗試unminified angular.js文件。錯誤信息通常易於理解 – Phil 2014-09-05 05:37:52

+0

@Phil。我試過'https:// ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.0/angular.js'。還是一樣。不工作.. – 2014-09-05 05:42:46

+0

我自己是新角度。你可以使用角度指令的數據屬性?像'data-ng-controller'而不是'ng-controller'。其次,試一下這樣的代碼:'angular.module('controllers').controller('SimpleController',['$ scope',function($ scope){/ * ... * /}]);'。基本上,在「角的命名空間」中設置控制器 – Gasim 2014-09-05 05:46:33

回答

22

1.3中不再支持全局控制器功能。見change log ...

$控制器將不再在窗口上尋找控制器。在控制器窗口上查看舊的 行爲原本打算用於示例,演示和玩具應用中的 。我們發現允許 全局控制器功能鼓勵不良實踐,因此我們在默認情況下解決了 以禁用此行爲。

可以重新啓用這個配置...

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

感謝您的回答。我對角度很陌生,假設有很多教程,並且應該基於1.2。如果我使用1.2教程移動到1.3版本,可能會出現類似這樣的問題。 http://ng-learn.org/2014/06/Migration_Guide_from_1-2_to1-3/也顯示了一些變化,我不知道他們是什麼...你會推薦任何好的起點/教程1.3從頭開始學習。 – 2014-09-05 06:12:33

+0

就個人而言,我會學習1.2,因爲大部分材料都是基於1.2的。一旦你對Angular感到滿意,許多這些東西都會有意義。 1.2和1.3之間存在差異,但基本概念保持不變。 – 2014-09-05 06:19:56

+0

如何過,當我snipt你提到添加代碼,它給在控制檯'未捕獲的對象angular.js錯誤:80 (匿名函數)angular.js:80 (匿名函數)angular.js:1799 確保角。 js:1723 module angular.js:1797 (匿名函數)' – 2014-09-05 08:59:18