我正在使用离子2开发一个应用程序.该应用程序的主要功能是登录屏幕,然后出现一个带侧边菜单的仪表板.侧边菜单不在登录屏幕中.我做的.但不知道以下错误会一次又一次地出现.
错误是
由模块'AppModule'导入的意外指令'LoginPage'.请添加@NgModule注释.
我在这里给我的代码..
app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { ListPage } from '../pages/list/list';
import { LoginPage } from "./login/login";
import { MenuComponent } from "./menu.component";
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
MenuComponent
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
LoginPage
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
MenuComponent
],
providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }]
})
export class AppModule {}
App.component.ts
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform } from 'ionic-angular';
import { LoginService } from "./login/login.service";
import { LoginPage } from "./login/login";
import { MenuComponent } from "./menu.component";
@Component({
template: '<ion-nav #baseNav></ion-nav>',
})
export class MyApp {
@ViewChild('baseNav') nav: Nav;
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, private loginService: LoginService) {
this.initializeApp();
}
ngOnInit() {
const componentStack: Array<{page: Component}> = [{
page: MenuComponent
}];
if (!this.loginService.isLoggedIn) {
componentStack.push({ page: LoginPage });
}
this.nav.insertPages(0, componentStack, { animate: false });
}
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题......?我正在使用Angular 4.
Rah*_*ngh 19
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
MenuComponent,
LoginPage // loginPgae will be here not in imports
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
MenuComponent
],
providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }]
})
Run Code Online (Sandbox Code Playgroud)
Pre*_*tia 12
在您的代码中,您在@ngModule中的Imports中编写了"LoginPage".相反,将它写在声明和EntryComponents中.
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
MenuComponent,
LoginPage //add LoginPage here
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
MenuComponent,
LoginPage //add LoginPage here
],
providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }]
})Run Code Online (Sandbox Code Playgroud)
您必须在声明中声明您的组件.
| 归档时间: |
|
| 查看次数: |
32753 次 |
| 最近记录: |