2017-05-14 105 views
1

我已創建以下文件隔離ngx-translate配置:TranslateModule配置不工作

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] 
 
    } 
 
    }; 
 
}

然後,我簡單地使用我的應用程序模塊內的以下imports部分:

TranslateModule.forRoot(translateModuleConfig)

但它不是實際上工作了,不像當我有配置直接內聯而不是函數。我做錯了什麼?

+0

什麼意思竇它不工作?任何輸出,錯誤肯定會有幫助! –

+0

譯文不會出現,沒有任何錯誤! 當然,只要將對象'{loader:...}'直接複製迴應用程序模塊而不是函數'translateModuleConfig',翻譯就會再次出現! – Sammy

回答

1

試着改變你的函數是:

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

,然後在app模塊做到這一點:

TranslateModule.forRoot(translateModuleConfig()); 
+1

是的,我只是愚蠢地想念'()'! – Sammy