Angularjs Uncaught Error: [$injector:modulerr] when migrating to V1.3

前端 未结 4 582
我寻月下人不归
我寻月下人不归 2020-11-22 10:47

I am learning Angular.js and I am not able to figure out whats wrong with this simple code. It seems to look fine but giving me following error.



        
4条回答
  •  我在风中等你
    2020-11-22 11:20

    After AngularJS version 1.3 global controller function declaration is disabled

    You need to first create an AngularJS module & then attach all the components to that specific module.

    CODE

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

    Specifically for your case, there is some issue with AngularJS 1.3.14 (downgrade it to 1.3.13 works fine). Though I'd prefer you to use angular 1.2.27 AngularJS 1.6.X, Which is more stable version & latest release of AngularJS.

    Working Plunkr

    UPDATE:

    You could do your current code to working state by allow global controller declaration inside angular.config. But this isn't the correct way to run angular application.

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

提交回复
热议问题