카테고리 보관물: Javascript

Javascript

AngularJS 1.2 $ 인젝터 : 모듈 때 다음

1.07 대신 angular 1.2를 사용할 때 다음 코드는 더 이상 유효하지 않습니다. 왜 그렇습니까?

'use strict';

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

app.config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider) {
        $locationProvider.html5Mode(true);
        $routeProvider.
        when('/', {
            templateUrl: 'part.html',
            controller: 'MyCtrl'
        }).
        otherwise({
            redirectTo: '/'
        });
    }
]);

문제는 인젝터 구성 부분 (app.config)에 있습니다.

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252) 

내가 올바르게 기억한다면이 문제는 각도 1.1.6으로 시작했습니다.



답변

ngRoute 모듈이 포함되지 않아서 문제가 발생했습니다. 버전 1.1.6부터는 별도의 부분입니다.

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

var app = angular.module('myapp', ['ngRoute']);


답변

끝에이 ‘()’를 추가하면 오류가 사라졌습니다.

(function(){
    var home = angular.module('home',[]);

    home.controller('QuestionsController',function(){
        console.log("controller initialized");
        this.addPoll = function(){
            console.log("inside function");
        };
    });
})();


답변

Google 검색에서 ‘오류 : [$ injector : modulerr] angular’라는 첫 번째 결과이므로 목록에 추가해야 할 사항이 하나 더 있습니다.

‘index’html’과 기본 자바 스크립트 앱 정의에서 앱 이름이 일치하지 않으면이 오류가 발생할 수도 있습니다.

예를 들어 HTML이 다음과 같은 경우

    </head>
    <body ng-app="myWebSite">

        <!-- My Web Site -->
        <p>About my web site...</p>

        etc ...

그리고 JavaScript는 다음과 같습니다 (예 : myWebSite 대신 myWebCite-앱 이름에 오타가 있음).

/** Main AngularJS Web Application */
var app = angular.module('myWebCite', [ 'ngRoute' ]);

/** Configure the Routes */
app.config(['$routeProvider', function ($routeProvider) {
  etc ...

‘Error : [$ injector : modulerr] angular’오류도 생성됩니다.


답변

멍청한 오류는 모듈 js를 포함하는 것을 잊어 버릴 수 있습니다.

<script src="app/modules/myModule.js"></script>

index.html의 파일


답변

파일을 압축, 번들 및 축소하는 프레임 워크를 사용하는 경우 이러한 프레임 워크가 변수의 이름을 바꾸는 경향이 있으므로 각 종속성을 명시 적으로 정의해야합니다. ASP.NET BundleConfig.cs을 사용하여 앱 스크립트를 함께 묶는 동안 이런 일이 발생했습니다 .

전에

app.config(function($routeProvider) {
    $routeProvider.
      when('/', {
          templateUrl: 'list.html',
          controller: 'ListController'
      }).
      when('/items/:itemId', {
          templateUrl: 'details.html',
          controller: 'DetailsController'
      }).
      otherwise({
          redirectTo: '/'
      });
});

app.config(["$routeProvider", function($routeProvider) {
    $routeProvider.
      when('/', {
          templateUrl: 'list.html',
          controller: 'ListController'
      }).
      when('/items/:itemId', {
          templateUrl: 'details.html',
          controller: 'DetailsController'
      }).
      otherwise({
          redirectTo: '/'
      });
}]);

각도 의존성 주석에 대한 자세한 내용은 여기참조하십시오 .


답변

console에이 오류가 발생 ([$injector:nomod], MINERR_ASSET:22)하면로드하기 전에 응용 프로그램 코드를 포함하지 않았는지 확인하십시오AngularJS

나는 그것을하고 있었고 일단 주문을 수정하면 오류가 사라졌습니다.


답변

방금 동일한 오류가 발생했습니다. 제 경우에는 angular.module누락 된 두 번째 매개 변수로 인해 발생했습니다 . 이는 동일한 문제를 가진 사람에게 도움이되기를 바랍니다.

angular.module('MyApp');

angular.module('MyApp', []);