【问题标题】:is it possible to make a lazy loading component in a non-lazy loading page in ionic 3?是否可以在 ionic 3 的非延迟加载页面中制作延迟加载组件?
【发布时间】:2018-08-23 01:57:25
【问题描述】:

我已经尝试过很多次在非延迟加载页面中延迟加载组件,但这给了我一个错误

//app.module.ts

import {LoginPage} from '../pages/login/login';

@NgModule({
  declarations: [
    MyApp,
    LoginPage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    HttpClientModule
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    LoginPage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},

  ]
})

//login.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { LoginPage } from './login';
import {LoginFormComponent} from '../../components/login-form/login-form';

@NgModule({
  declarations: [
   LoginPage, 
   LoginFormComponent
  ],
  imports: [
    IonicPageModule.forChild(LoginPage),
  ],

})
export class LoginPageModule {}

这给我一个错误

please add a @pipe/@directive/@component annotation.

如果可能的话,我如何在非延迟加载页面中制作延迟加载组件?

【问题讨论】:

  • 您确定LoginPage 不是延迟加载页面吗?为什么设置IonicPageModule.forChild(LoginPage),?哪个是非延迟加载的组件?

标签: angular typescript ionic-framework ionic3


【解决方案1】:

在 Angular 中,一个组件只能注册到一个模块。

declarations[]entryComponents[] 中删除LoginPage,并从您的app.module.ts 中删除导入

@NgModule({
  declarations: [
    MyApp
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    HttpClientModule
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},

  ]
})

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    相关资源
    最近更新 更多