Angular: 不使用 @Injectable 装饰器注入类
创始人
2024-10-22 18:01:02
0

在Angular中,我们通常使用@Injectable装饰器来注入类。然而,有时候我们可能需要在不使用@Injectable装饰器的情况下手动注入类。

以下是一个解决方法的示例:

  1. 首先,创建一个服务类,例如MyService
export class MyService {
  getData(): string {
    return "Hello World";
  }
}
  1. 在需要使用该服务的组件中,手动注入MyService类。我们可以使用providers属性来指定要注入的类:
import { Component, OnInit } from '@angular/core';
import { MyService } from './my.service';

@Component({
  selector: 'app-my-component',
  template: `{{ data }}`,
  providers: [MyService] // 手动注入 MyService 类
})
export class MyComponent implements OnInit {
  data: string;

  constructor(private myService: MyService) { }

  ngOnInit() {
    this.data = this.myService.getData();
  }
}
  1. 在模块的providers数组中注册MyService类,以便在整个应用程序中共享该类的实例:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyComponent } from './my.component';
import { MyService } from './my.service';

@NgModule({
  imports: [BrowserModule],
  declarations: [MyComponent],
  providers: [MyService], // 注册 MyService 类
  bootstrap: [MyComponent]
})
export class AppModule { }

通过这种方式,我们可以手动注入MyService类,而无需使用@Injectable装饰器。请注意,在模块中注册MyService类是非常重要的,以确保在整个应用程序中共享该类的实例。

希望这个示例能对你有所帮助!

相关内容

热门资讯

9分钟指南书!九天大厅挂价格,... 9分钟指南书!九天大厅挂价格,新祥心辅助脚本(辅助)一贯真的是有辅助(哔哩哔哩)一、新祥心辅助脚本可...
第十分钟窍要!杭麻圈辅助工具,... 第十分钟窍要!杭麻圈辅助工具,天酷游戏交易平台(辅助)原来是有辅助(哔哩哔哩)1、完成天酷游戏交易平...
第六分钟举措!四川游戏家园手机... 第六分钟举措!四川游戏家园手机版辅助,三哥玩app辅助(辅助)果然有挂下载(哔哩哔哩)1、金币登录送...
第八分钟攻略!金州水鱼脚本,新... 第八分钟攻略!金州水鱼脚本,新九五有没有脚本(辅助)果然有挂软件(哔哩哔哩)1、让任何用户在无需新九...
第六分钟秘籍!天天川南辅助,超... 第六分钟秘籍!天天川南辅助,超级三加一辅助工具(辅助)果然是真的安装(哔哩哔哩)1、超级三加一辅助工...
第七分钟教程书!拼三张辅助器,... 第七分钟教程书!拼三张辅助器,海贝之城辅助软甲下载(辅助)原来真的有平台(哔哩哔哩)1、用户打开应用...
第五分钟指引!蜀渝牌乐汇挂机软... 第五分钟指引!蜀渝牌乐汇挂机软件,天酷辅助巡查系统(辅助)果然真的是有安装(哔哩哔哩)该软件可以轻松...
8分钟讲义!微友辅助器免费版v... 8分钟讲义!微友辅助器免费版v2.0,新财神正版辅助挂(辅助)真是真的是有辅助器(哔哩哔哩)1、8分...
8分钟策略!椰岛长胜辅助,随意... 8分钟策略!椰岛长胜辅助,随意玩聚乐部辅助(辅助)本来是有插件(哔哩哔哩)1、该软件可以轻松地帮助玩...
2分钟课程!陕麻圈是不是可以作... 2分钟课程!陕麻圈是不是可以作必弊,蜜蜂大厅辅助插件(辅助)一直真的是有软件(哔哩哔哩)1)陕麻圈是...