我的应用程序正在使用延迟加载,但我在app.module
中加载了组件,因为默认情况下我仍然需要它们,但大多数都加载在不同的页面/组件上。
这是side-menu.html
:
<ion-content>
<ion-list>
<ion-item>
<login></login>
</ion-item>
<ion-item>
<language-change></language-change>
</ion-item>
</ion-list>
</ion-content>
默认情况下加载login
,因为用户必须始终登录,所以该组件在侧菜单上工作。
language-change
只在我需要的时候加载,它在其他页面上工作,但在这里不工作。这是side-menu.module
:
import { NgModule } from "@angular/core";
import { IonicPageModule } from "ionic-angular";
import { SideMenuPage } from "./side-menu";
import { LanguageChangeComponentModule } from "../../components/language-change/language-change.module";
@NgModule({
declarations: [SideMenuPage],
imports: [
IonicPageModule.forChild(SideMenuPage),
LanguageChangeComponentModule
],
exports: [SideMenuPage],
entryComponents: [SideMenuPage]
})
export class SideMenuPageModule { }
language-change.module
:
import { NgModule } from '@angular/core';
import { IonicModule } from 'ionic-angular';
import { LanguageChangeComponent } from './language-change';
@NgModule({
declarations: [LanguageChangeComponent],
imports: [
IonicModule
],
exports: [LanguageChangeComponent],
entryComponents: [LanguageChangeComponent]
})
export class LanguageChangeComponentModule { }
side-menu.module
:
import { NgModule } from "@angular/core";
import { IonicPageModule } from "ionic-angular";
import { SideMenuPage } from "./side-menu";
import { LanguageChangeComponentModule } from "../../components/language-change/language-change.module";
@NgModule({
declarations: [SideMenuPage],
imports: [
IonicPageModule.forChild(SideMenuPage),
LanguageChangeComponentModule
],
exports: [SideMenuPage],
entryComponents: [SideMenuPage]
})
export class SideMenuPageModule { }
我得到了经典的
"语言更改"不是已知元素
假设language-change
组件名称为LanguageChangeComponent
。
检查您是否正在从LanguageChangeComponentModule
声明和导出LanguageChangeComponent
。
@NgModule({
//....
declarations : [LanguageChangeComponent],
exports : [LanguageChangeComponent]
//...
})
class LanguageChangeComponentModule{
}
如果您想在整个应用程序中使用此组件,您可以将import
和export
LanguageChangeComponentModule
转换为AppModule
。
@NgModule({
imports: [
LanguageChangeComponentModule
],
exports: [LanguageChangeComponentModule]
})
export class AppModule {}
如果你想在某个模块中使用它,那么你可以将它导入该模块,而不是AppModule。