Angularjs Uncaught Error: ao migrar para V1.3

Estou aprendendo Angular.js e não consigo descobrir o que está errado com esse código simples. Parece estar bem, mas dando-me o seguinte erro.

**Error**: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381) 

E antes de adicionar ng-app= "app" (eu estava apenas mantendo-o como ng-app ) estava me dando erros a seguir. Por que é que?

 Error: [ng:areq] http://errors.angularjs.org/1.3.14/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined at Error (native) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:6:417 at Sb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:19:510) at tb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:20:78) at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:75:331) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:57:65 at s (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:7:408) at A (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:56:443) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:299) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:316) 
       

{{name}}

{{age}}

var Ctrl = function($scope) { $scope.age = 24; };

Após AngularJS versão 1.3 declaração de function do controlador global está desabilitada

Você precisa primeiro criar um módulo AngularJS e, em seguida, append todos os componentes a esse módulo específico.

CÓDIGO

 function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .controller('Ctrl', ['$scope', Ctrl]); 

Especificamente para o seu caso, há algum problema com o AngularJS 1.3.14 (downgrade para 1.3.13 funciona bem). Embora eu prefira que você use angular 1.2.27 AngularJS 1.6.X, que é a versão mais estável e mais recente lançamento do AngularJS.

Plunkr de trabalho

ATUALIZAR:

Você poderia fazer seu código atual para o estado de trabalho, permitindo a declaração de controlador global dentro de angular.config . Mas esta não é a maneira correta de executar o aplicativo angular.

 function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .config(['$controllerProvider', function ($controllerProvider) { $controllerProvider.allowGlobals(); } ]); 

Eu fiquei preso nessa questão por algum tempo. Verifique o seguinte na ordem: –

  1. O caminho para você, o script angular.js, está correto (esteja você chamando-o em seu HTML de uma fonte local ou como um recurso externo).

  2. Em seguida, quando o seu angular.js estiver correto, verifique se o seu aplicativo foi inicializado ou não.

    var app=angular.module('app',[]) // no seu arquivo app.js

    // no seu html

  3. Em seguida, registre seu controlador com o aplicativo e passe todas as injeções necessárias

    app.controller('myCtrl',function(){});

  4. Chame seu arquivo javascript no seu arquivo html

Você tem que definir seu controlador

 var app = angular.module('app', []); app.controller('Ctrl', ['$scope',function($scope) { $scope.age = 24; }]); 

Certifique-se de que ng-app="app_name" define deve corresponder a

var app=angular.module( 'app_name' ,[])

   

{{name}}

{{age}}

Para mais detalhes visite aqui