2013-03-30 31 views
15

jsFiddle of the code为什么这个Angular控制器抛出“Error:Unknown provider:nProvider < - n”?

<div ng-app=""> 
    <div ng-controller="FirstCtrl"> 
     <input type="text" ng-model="data.message" /> 
     {{data.message + " world"}} 
    </div> 
</div> 

function FirstCtrl($scope) { 
    $scope.data = { 
     message: "Hello" 
    }; 
} 

我刚开始使用上Egghead.io视频了解角。继我一直卡在2nd video where John discusses controllers。它在他的视频中工作,在我的机器上失败。

代码是如此基本的我无法弄清楚什么是引发此错误:

> Error: Unknown provider: nProvider <- n 
>  at Error (<anonymous>) 
>  at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:29:36 
>  at Object.c [as get] (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:26:310) 
>  at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:29:121 
>  at c (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:26:310) 
>  at d (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:26:444) 
>  at Object.instantiate (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:28:80) 
>  at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:51:512 
>  at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:43:67 
>  at n (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.min.js:7:43) 

如果我使用谷歌的CDN,以及(从错误该错误被抛出,我想也许这是cdn的错误)。

回答

2

至于你的小提琴去,如果您更改“的onLoad”到AngularJS使用“不循环 - 在” <头>'或‘不循环 - 在<体>’,它会正常工作。

2

在小提琴演示中唯一的问题是设置代码在负载处理程序中运行。当它试图解析DOM

工作版本

Anguar无法找到你的控制器功能,只需更改onload在左上

http://jsfiddle.net/TCT8n/3/

30

原来,问题是,我的剧本是被缩小了,缩小器正在改变$ scope变量的名字。 Angular.js文档提到了how to minify Angular code

+0

我有类似的问题,你可以发布你如何解决这个问题? IE:你如何改变$ scope变量以防止它被缩小? – Ninja

+1

谢谢,改为'myapp.controller('myCtrl',['$ scope',function($ scope){...}]);'解决了这个问题。 –

相关问题