Ich versuche, eine Komponente mit einer templateURL einzurichten, die bei einem Konfigurationsmodul ein relativer Pfad ist. Da es jedoch außerhalb eines Controllers ist, kann ich nicht herausfinden, wie in der Abhängigkeit der KonfigurationSetzen Sie die Komponente TemplateURL auf den konfigurierten Pfad.
app.config.js zu bringen:
angular.module('app.config', [])
.constant('config', {
TEMPLATES_URL: 'js_2/templates/',
COMPONENTS_URL: 'js_2/components/'
})
nach Hause. 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: ....})
Ich weiß, dass, wenn sie in einem Controller Injektion würde man einfach ‚config‘ injizieren und es verwenden, aber ich weiß nicht, wie diese
Danke
Mögliches Duplikat von [Angular 1.5-Komponenten-Methode templateUrl + function] (http://StackOverflow.com/Questions/33841909/angular-1-5-component-method-templateurl-function) – estus
Ich glaube nicht, dass Link gibt einen Weg, tatsächlich in die templateURL-Methode zu injizieren, tut es? Würdest du der gleichen Prozedur folgen templateUrl: ['config', function (....)] – pasquers
Das ist richtig. Alle injizierbaren Funktionen in Angular werden auf die gleiche Weise aufgerufen (das Framework ruft sie mit der $ injector.invoke-Methode auf) und folgt demselben bekannten DI-Schema. Du kennst einen, du kennst sie alle. – estus