16

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)

如果我也使用 google CDN,则会引发此错误(从错误中,我认为这可能是 cdn 的错)。

4

3 回答 3

30

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

于 2013-03-31T22:13:35.347 回答
2

就您的小提琴而言,如果您将 AngularJS 的用法从“onLoad”更改为“No wrap - in '<head>”或“No wrap - in <body>”,它将正常工作。

于 2013-03-30T16:15:36.213 回答
2

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

Anguar 在尝试解析 DOM 时找不到您的控制器功能

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

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

于 2013-03-30T16:16:26.790 回答