sourcecode

module.config 내부 값의 AngularJS 의존성 주입

codebag 2023. 3. 19. 18:09
반응형

module.config 내부 값의 AngularJS 의존성 주입

모듈에 대한 일부 도우미 값을 설정하려고 합니다.서비스와 가치를 시험해 봤지만 도움이 되지 않았다:

var finance = angular.module('finance', ['finance.services'])
    .value("helpers", {
        templatePath: function (name) {
            return '/areas/scripts/finance/templates/' + name + '/index.html';
        }
    })
    .config(['$routeProvider', 'helpers', function ($routeProvider, helpers) {
    $routeProvider.
        when('/', {
            templateUrl: helpers.getTemplatePath('dashboard'),
            controller: DashboardController
        })            
        .when('/people', {
            templateUrl: '/areas/scripts/app/people/index.html',
            controller: PeopleController
        })
        .otherwise({
            redirectTo: '/dashboard'
        });
}]);

내가 뭘 잘못하고 있지?

문제는 값 개체를 삽입하려고 한다는 것입니다.helpersAngular 구성 블록에서JS 모듈 및 이는 허용되지 않습니다.config 블록에는 상수 및 공급자만 삽입할 수 있습니다.

앵귤러JS 문서(섹션: "모듈 로드 및 의존관계")에서는 다음과 같은 정보를 얻을 수 있습니다.

모듈은 부트스트랩 프로세스 중에 응용 프로그램에 적용되는 설정 블록과 실행 블록의 집합입니다.가장 단순한 형태에서 모듈은 두 가지 종류의 블록으로 구성됩니다.

구성 블록 - 공급자 등록 및 구성 단계에서 실행됩니다.컨피규레이션블록에는 프로바이더와 상수만 삽입할 수 있습니다.이는 서비스가 완전히 설정되기 전에 실수로 인스턴스화되는 것을 방지하기 위한 것입니다.

실행 블록 - 인젝터가 생성된 후 실행되며 애플리케이션을 킥스타트하는 데 사용됩니다.실행 블록에는 인스턴스와 상수만 주입할 수 있습니다.이는 애플리케이션 실행 시 추가 시스템 구성을 방지하기 위한 것입니다.

대신.value사용할 수 있습니다..constant그럼 다음에서 서비스를 사용할 수 있습니다..config일부.

도우미 메서드가 호출되었습니다.templatePath그리고 당신은 그것을 안에서 부르고 있다..config~하듯이getTemplatePath그래야 하지 않을까요?

when('/', {
            templateUrl: helpers.templatePath('dashboard'),
            controller: DashboardController
     }) 

언급URL : https://stackoverflow.com/questions/12903338/angularjs-dependency-injection-of-value-inside-of-module-config

반응형