为什么这个Angular控制器会抛出“Error: Unknown provider: nProvider <- n&q

Why does this Angular controller throw "Error: Unknown provider: nProvider <- n"?

本文关键字:nProvider provider Unknown Error Angular 控制器 为什么      更新时间:2023-09-26

jsFiddle的代码:

<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上的视频学习Angular。接着,我被困在约翰讨论控制器的第二个视频中。在他的视频里可以用,在我的机器上不行。

的代码是如此基本,我不能弄清楚是什么抛出这个错误:

> 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的错误)。

原来问题是我的脚本被缩小了,而缩小器正在更改$scope变量的名称。Angular.js文档确实提到了如何缩减Angular代码。

演示中唯一的问题是设置代码在加载处理程序中运行。

当angar试图解析DOM时,它找不到你的控制器函数

工作版本,只需更改左上角的onload

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

如果你把AngularJS的用法从'onLoad'改为'No wrap - in '

'或'No wrap - in ',它就会正常工作。