2016-08-01 5 views
0

구성 모듈이 지정된 상대 경로 인 templateURL을 사용하여 구성 요소를 설정하려고합니다. 이 컨트롤러의 외부이기 때문에, 나는 구성에 종속성에구성 요소 TemplateURL을 구성된 경로로 설정하십시오.

app.config.js을 가지고하는 방법을 알아낼 수 없습니다 :

angular.module('app.config', []) 
    .constant('config', { 
    TEMPLATES_URL: 'js_2/templates/', 
    COMPONENTS_URL: 'js_2/components/' 

})

집. app.js :

angular.module('home.app', ['rest.service', 'app.config']); 

home.component.js :

angular.module('home.app').component('home', { 
    /* HOW DO I INJECT THE 'config' DEPENDENCY */ 
templateUrl: config.TEMPLATES_URL + 'home.template.html', 
controller: ....}) 

는 내가 컨트롤러에 주입 할 때 간단하게 '설정'을 주입하고 사용하는 것을 알고,하지만 난

당신은을 설정해야합니다 당신에게

+0

[각도 1.5 컴포넌트 메소드 templateUrl + 함수]의 가능한 복제본 (http://stackoverflow.com/questions/33841909/angular-1-5-component-method-templateurl-function) – estus

+0

링크가 믿을 수 없습니다. 그래도 실제로 templateURL 메소드에 삽입 할 수있는 방법이 있습니까? templateUrl과 같은 절차를 따르시겠습니까? [ 'config', function (....)] – pasquers

+0

맞습니다. Angular의 모든 injectable 함수는 같은 방식으로 호출됩니다 (프레임 워크는'$ injector.invoke' 메소드로 호출합니다). 그리고 잘 알려진 DI 방식을 따르십시오. 너는 그들 모두를 안다. – estus

답변

0

감사 구성 요소에이 작업을 수행하는 방법을 모른다 다음과 같이 URL을 서비스를 주입하고 반환 templateUrl에 기능 : 또한

angular.module('fsad').component('fsadLeefloon', { 
    bindings: { 
     onChanges: '&?' 
    }, 
    templateUrl: function(appConstant){return appConstant.paths.modules.fsad + 'leefloon/fsad-leefloon.html'}, 
    controller: controller 
    }); 

structure guide는 당신이 좋은 구성 요소 스타일을 설정하는 데 도움이 될 수 있습니다.

관련 문제