Почему этот контроллер Angular выбрал "Ошибка: неизвестный поставщик: nProvider <- n"?

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"
    };
}

Я только начинаю изучать Angular, используя видео на Egghead.io. Следуя за мной, я застрял на втором видео, где Джон обсуждает контроллеры. Он работает в своем видео, не работает на моей машине.

код настолько базовый, что я не могу понять, что выбрасывает эту ошибку:

> 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)

Эта ошибка возникает, если я использую также CDK google (из-за ошибки, я думал, возможно, это была ошибка cdn).

Ответы

Ответ 1

Оказывается, проблема заключалась в том, что мои скрипты были минимизированы, а minifier менял имя переменной $scope. В документах Angular.js упоминается как минимизировать Angular код.

Ответ 2

Что касается вашей скрипки, если вы измените использование AngularJS с 'onLoad' на 'No wrap-in' <head> ' или "Без обертки" в <body> он будет работать нормально.

Ответ 3

Только проблема в демонстрации скрипта - это установка для запуска кода в обработчике нагрузки.

Anguar не может найти вашу функцию контроллера, когда пытается проанализировать DOM

просто измените onload в левом верхнем углу

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