您好我想知道如果已经在AppModule中声明它是否可以使用组件而不再重新导入它。由于我有 10个或更多页面/组件要使用,因此很难导入每个页面/组件并进行跟踪。
这是我的 app.module.ts
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
我想使用 HomePage 而不重新导入它。因为我有这么多页面来处理它。
其他-page.ts
import { Component } from '@angular/core';
@Component({
selector: 'page-home',
templateUrl: 'login.html',
providers: [LoginService]
})
export class LoginPage {
constructor(){ }
//Call HomePage here without having to import it again.
}
答案 0 :(得分:3)
如果你在代码的某个地方提到一个类,它必须被导入,否则它不会被识别为使代码无效或至少不能达到预期效果的类。
文件顶部的导入根本与Angular无关,它们是TypeScript导入。 @NgModule()
中的导入是Angular导入和fullfill与TS导入完全不同的目的。
因此,向@NgModule()
添加组件不会使其他导入过时。
答案 1 :(得分:2)
要在源代码(ts文件)中使用Comonent
,您需要import
它,以便TypeScript
识别它。
如果您只想在Template
中使用它,则只需要Angular
框架识别它,并且不需要导入。
要让Angular
了解您的Component
,您需要declare
NgModule
。此Component
中的每个NgModule
都会知道您的Component
要让其他NgModule
知道您的Component
,您需要export
来自另一个NgModule
和import
NgModule
NgModule
{1}}秒。