angular - 如何将模块导入子模块?
问题描述
我在我的 Angular 应用程序中使用 ngx-translate。我在 app.module.ts 中导入并完成了所有操作:
import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, '/assets/i18n/', '.json');
}
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
],
bootstrap: [AppComponent]
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
],
bootstrap: [AppComponent]
我正在导入和导出模块,例如 github ngx-translate 页面上的示例。翻译工作正常。
但我有一个子文件夹,它有他自己的 module.ts 文件 pages.module.ts。当我想在 pages 文件夹中的 html 文件上使用 ngx-translate 时,我有信息,在这个应用程序中无法识别翻译管道。我想我需要将 app.module.ts 中的元素导入 pages.module.ts。我试过了,但我不知道该怎么做。
解决方案
很可能您必须在子模块中使用TranslateModule.forChild
(而不是) 。TranslateModule.forRoot
pages.module.ts
在子模块中使用 "extend" = true 从根模块获取设置
TranslateModule.forChild({
extend: true
})
推荐阅读
- ruby-on-rails - 使用 Rails 中的嵌套属性从表单中的复选框创建多个新记录
- python-3.x - 可拖动正弦函数,单击、移动和释放
- java - 使用 Apache PDFBox 将图像添加到 PDF 时出现空白页面的问题
- angular - Angular/NGRX 中的 observable 中的多个 observables 并在最后合并结果
- c# - 如何向 ILogger 添加自定义属性
- postgresql - 如何将数据从一个 AWS 账户的 RDS 移动到另一个账户
- c# - 确定开发旧 C# 项目的 Visual Studio 版本
- javascript - jQuery:ajax请求后页面意外重新加载
- asp.net-core - Asp.Net Core & JWT 身份验证:如何知道身份验证失败,因为令牌过期?
- javascript - 在反应组件类中看不到 props 属性