在Angular中,我们使用模块来组织我们的应用程序。在app.module.ts文件中,我们导入模块,并将其添加到@NgModule装饰器的imports数组中。这些模块可以是其他Angular内置模块,也可以是自定义模块。
例如,下面的代码导入了一个内置模块FormsModule和一个自定义模块CustomModule,并将它们添加到@NgModule装饰器的imports数组中:
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CustomModule } from './custom.module';
@NgModule({
imports: [
FormsModule,
CustomModule
]
})
export class AppModule { }
在模板类中,我们经常需要使用一些其他类或服务。我们可以通过直接导入这些类或服务来使用它们。
例如,下面的代码导入了一个名为UserService的服务,并在构造函数中将其注入:
import { Component } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
users: any[];
constructor(private userService: UserService) {
this.users = this.userService.getUsers();
}
}
如果我们需要在模板中使用UserService中的某些方法或属性,我们可以使用单个导入:
import { UserService } from './user.service';
@Component({
selector: 'app-user',
template: `
{{ user.name }} ({{ user.email }})
`
})
export class UserComponent {
users: any[];
constructor(private userService: UserService) {
this.users = this.userService.getUsers();
}
}
但是,如果我们需要在模板中使用许多类或服务,逐个导入它们就会变得很麻烦。为了方便起见,我们可以使用* as*运算符将多个类或服务作为单个导入导入:
import * as services from './services';
@Component({
selector: 'app-root',
template: `
`
})
export class AppComponent {