使用不导入的组件



嗨,我想知道如果组件已经在 AppModule 中声明,是否可以在不再次导入组件的情况下使用它。由于我有10 个或更多页面/组件可以使用,因此很难导入每个页面/组件并进行跟踪。

这是我的应用程序.模块.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 {}

我想使用主页而不重新导入它。因为我有很多页面要处理它。

其他页面.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.
}

如果你在代码中的某处提到一个类,它必须被导入,否则它不会被识别为那个使代码无效或至少没有做你期望的类。

文件顶部的导入与 Angular 完全无关,它们是 TypeScript 导入。@NgModule()中的导入是 Angular 导入,满足了与 TS 导入完全不同的目的。

因此,向@NgModule()添加组件不会使其他导入过时。

要在源代码(ts-file)中使用Comonent,您需要对其进行import,以便TypeScript识别它。
如果只想在Template中使用它,则只需要Angular框架识别,不需要导入。

Angular了解您的Component,您需要将其declareNgModule中。然后,该NgModule内的每个Component都会知道您的Component
要让其他NgModule知道您的Component,您需要从声明NgModuleexport它,并import在其他NgModuleNgModule

相关内容

  • 没有找到相关文章

最新更新