2017-05-14 104 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