2017-05-14 4 views
1

J'ai créé le fichier suivant pour isoler la configuration ngx-translate:TranslateModule Configuration ne fonctionne pas

import { 
 
    Http 
 
} from '@angular/http'; 
 
import { 
 
    TranslateHttpLoader 
 
} from '@ngx-translate/http-loader'; 
 
import { 
 
    TranslateLoader, 
 
    TranslateModuleConfig 
 
} from '@ngx-translate/core'; 
 

 
// AoT requires an exported function for factories 
 
export function HttpLoaderFactory(http: Http) { 
 
    return new TranslateHttpLoader(http); 
 
} 
 

 
export function translateModuleConfig(): TranslateModuleConfig { 
 
    return { 
 
    loader: { 
 
     provide: TranslateLoader, 
 
     useFactory: HttpLoaderFactory, 
 
     deps: [Http] 
 
    } 
 
    }; 
 
}

Je suis simplement en utilisant les éléments suivants dans ma section module app imports:

TranslateModule.forRoot(translateModuleConfig)

Mais ce n'est pas Je ne travaillais plus, contrairement à quand j'avais la configuration directement en ligne au lieu de la fonction. Que fais-je incorrectement?

+0

ce que signifie dou il ne fonctionne pas? toutes les sorties, les erreurs aideraient à coup sûr! –

+0

Le texte traduit n'apparait pas, aucune erreur! Et bien sûr, dès que je copie l'objet '{loader: ...}' directement dans le module de l'application au lieu de la fonction 'translateModuleConfig', les traductions apparaissent à nouveau! – Sammy

Répondre

1

Essayez de changer votre fonction à ceci:

export function translateModuleConfig() { 
    return { 
    loader: { 
     provide: TranslateLoader, 
     useFactory: HttpLoaderFactory, 
     deps: [Http] 
    } 
    }; 
} 

puis dans vos app modules font ceci:

TranslateModule.forRoot(translateModuleConfig()); 
+1

Yup, je manquais stupidement le '()'! – Sammy