1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Angular的DI(依赖注入)

Angular的DI(依赖注入)

时间:2021-10-10 00:00:05

相关推荐

Angular的DI(依赖注入)

DI:依赖注入,是一种设计模式,很多优秀的框架都实现了这种模式,比如spring框架。angular自身也实现了一套依赖注入,只需要把主要的服务在用到的类的构造函数注入就可以。

一般我们需要依赖注入的都是一些获取数据的服务,要让一个类成为可注入的服务就需要使用@Injectable()装饰器。

设置注入服务有三种方式,三者选其一即可

在服务本身的 @Injectable() 装饰器中。

在 NgModule 的 @NgModule() 装饰器中。

在组件的 @Component() 装饰器中。

@Injectable() 装饰器这种设置注入的方式是最常用也是用cli命令自动生成的。providedId:"root"表示在根模块中注入,在root模块的 @NgModule()中注入是一样的。

@Injectable()装饰器标记注入

@Injectable({providedIn: "root"})export class UserService(){constructor() {}getUser() {}}

@NgModule() 装饰器中标记注入

@NgModule({declarations: [AppComponent],imports: [BrowserModule,AppRoutingModule,FormsModule],providers: [UserService //设置注入服务],bootstrap: [AppComponent]})export class AppModule {}

@Component() 装饰器中标记注入

@Component({selector: 'app-example',templateUrl: './ponent.html',styleUrls: ['./ponent.scss'],providers: [UserServcie] //设置注入服务})export class ExampleComponent{constructor() {}}

在某个注入器的范围内,服务是单例的。也就是说,在指定的注入器中最多只有某个服务的最多一个实例。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。