我正在Ionic中创建一个页面,并且还为页脚创建了一个单独的组件,并且在页面中使用了页脚选择器,但这显示了错误。
这是我的组件> foot-card> foot-card.ts
import { Component } from '@angular/core';
@Component({
selector: 'foot-card',
templateUrl: 'foot-card.html'
})
export class FootCardComponent {
text: string;
constructor() {
console.log('Hello FootCardComponent Component');
this.text = 'Hello World';
}
}
这是我的components.module.ts:
import { NgModule } from '@angular/core';
import { FootCardComponent } from './foot-card/foot-card';
import { IonicModule } from 'ionic-angular';
@NgModule({
declarations: [FootCardComponent],
imports: [IonicModule],
exports: [FootCardComponent]
})
export class ComponentsModule {}
这是我的app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } 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 { LoginpagePage } from '../pages/loginpage/loginpage';
import { FrontPage } from './../pages/front/front';
import { FooterPage } from './../pages/footer/footer';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HttpClientModule } from '@angular/common/http';
import { RestapiProvider } from '../providers/restapi/restapi';
import { FootCardComponent } from '../components/foot-card/foot-card';
import { ComponentsModule } from '../components/components.module'
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
LoginpagePage,
FrontPage,
FooterPage,
FootCardComponent
],
imports: [
BrowserModule,
HttpClientModule,
ComponentsModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
LoginpagePage,
FrontPage,
FooterPage,
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
RestapiProvider
]
})
export class AppModule {}
这是我在首页中使用的选择器:(front.html)
<foot-card></foot-card>
但是显示错误。我是离子新手。非常感谢您的帮助。
错误:
类型FootCardComponent是2个模块的声明的一部分:ComponentsModule和AppModule!请考虑将FootCardComponent移至导入了ComponentsModule和AppModule的更高模块。您还可以创建一个新的NgModule,该NgModule导出并包含FootCardComponent,然后在ComponentsModule和AppModule中导入该NgModule。
答案 0 :(得分:1)
从声明中剪切FootCardComponent并将其添加到Entry Components。 让我知道这对您是否有用。
答案 1 :(得分:0)
仅在app.module.js中:从声明中删除FootCardComponent并将其添加到Entry Components。这解决了我的问题。
答案 2 :(得分:0)
从 FootCardComponent
文件的声明部分中删除app.module.ts
。
在 ComponentsModule
文件的导入部分中添加app.module.ts
。
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } 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 { LoginpagePage } from '../pages/loginpage/loginpage';
import { FrontPage } from './../pages/front/front';
import { FooterPage } from './../pages/footer/footer';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HttpClientModule } from '@angular/common/http';
import { RestapiProvider } from '../providers/restapi/restapi';
import { FootCardComponent } from '../components/foot-card/foot-card';
import { ComponentsModule } from '../components/components.module'
@NgModule({
declarations: [
MyApp,
HomePage,
ListPage,
LoginpagePage,
FrontPage,
FooterPage,
FootCardComponent **-------> *Remove this line***
],
imports: [
BrowserModule,
HttpClientModule,
ComponentsModule, ---------> *Add ComponentsModule in import section*
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
ListPage,
LoginpagePage,
FrontPage,
FooterPage,
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
RestapiProvider
]
})
export class AppModule {}
让我知道你的结果