'菜单列表'不是已知元素延迟加载

时间:2017-09-11 06:28:45

标签: angular ionic-framework ionic3

我在离子3.6.1中使用延迟加载并得到跟随错误。知道这是什么问题吗?

  

'菜单列表'不是一个已知的元素:
  1.如果' menu-list'是一个Angular组件,然后验证它是该模块的一部分   2.如果' menu-list'是一个Web组件,然后添加' CUSTOM_ELEMENTS_SCHEMA'到了' @ NgModule.schemas'该组件可以禁止此消息。

home.html的

<menu-list></menu-list>

home.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
import { MenuListComponent } from "../../components/menu-list/menu-list";

@NgModule({
  declarations: [
    HomePage,
  ],
  imports: [
    IonicPageModule.forChild(HomePage),
    MenuListComponent
  ],
})
export class HomePageModule {}

菜单list.ts

import { Component } from '@angular/core';
@Component({
  selector: 'menu-list',
  templateUrl: 'menu-list.html'
})
export class MenuListComponent {

  text: string;

  constructor() {
    console.log('Hello MenuListComponent Component');
    this.text = 'Hello World';
  }

}

components.module.ts(生成,未修改)

import { NgModule } from '@angular/core';
import { MenuListComponent } from './menu-list/menu-list';
@NgModule({
    declarations: [MenuListComponent],
    imports: [],
    exports: [MenuListComponent]
})
export class ComponentsModule {}

1 个答案:

答案 0 :(得分:3)

您需要导入从中导出组件的 ComponentsModule ,而不是组件本身。

查看官方博客here。 在 home.module.ts

@NgModule({
  declarations: [
    HomePage,
  ],
  imports: [
    IonicPageModule.forChild(HomePage),
    ComponentsModule //here
  ],
})
export class HomePageModule {}