Angular如何利用`@Injectable()`进行依赖注入?
时间: 2024-09-24 20:19:15 浏览: 57
Angular使用依赖注入(Dependency Injection, DI)机制来管理应用中的服务、组件和其他依赖。`@Injectable()`是一个装饰器,用于标记一个类作为可注入的服务。当你在一个类上添加`@Injectable()`,Angular会在应用程序运行期间自动创建该类的一个实例,并将其放入依赖注入容器中。
以下是使用`@Injectable()`进行依赖注入的基本步骤:
1. 定义服务:首先,定义一个提供特定功能的类,并在其上方添加`@Injectable()`注解,比如:
```typescript
import { Injectable } from '@angular/core';
@Injectable()
export class UserService {
// 类中的业务逻辑和方法...
}
```
2. 在需要的地方注入服务:在其他模块或组件的构造函数中,使用`@Inject()`或`providers`数组来请求这个服务,例如:
```typescript
import { Component } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'app-root',
providers: [UserService],
template: '<h1>User Service Example</h1>'
})
export class AppComponent {
constructor(private userService: UserService) {
console.log('UserService instance:', this.userService);
}
}
```
在这个例子中,`UserService`将被注入到`AppComponent`的构造函数中。
阅读全文