在非Angular类中使用Angular服务及其依赖(dependency),可以通过以下步骤实现:
以下是一个示例:
在Angular服务文件中,例如myService.service.ts
:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class MyService {
getData(): string {
return 'Data from Angular service';
}
}
在非Angular类中,例如一个普通的JavaScript类:
import { MyService } from './myService.service';
class NonAngularClass {
private myService: MyService;
constructor(myService: MyService) {
this.myService = myService;
}
useService(): void {
const data = this.myService.getData();
console.log(data);
}
}
在使用该非Angular类的文件中,例如main.ts
:
import { MyService } from './myService.service';
import { NonAngularClass } from './nonAngularClass';
const myService = new MyService();
const nonAngularClass = new NonAngularClass(myService);
nonAngularClass.useService();
这样,非Angular类NonAngularClass
就可以通过注入服务实例MyService
来使用服务中的功能。
请注意,以上示例中使用的是Angular的依赖注入机制,如果需要在非Angular类中使用服务,需要手动进行依赖注入,而不是直接通过new
关键字实例化服务。
领取专属 10元无门槛券
手把手带您无忧上云