在Angular 8中,可以通过使用依赖注入将服务从构造函数传递到类外部。在同一个文件中,可以使用@Injectable装饰器将服务标记为可注入的,并在需要使用该服务的地方将其注入。
下面是一个示例代码:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class MyService {
constructor() { }
// 服务的方法
myMethod() {
console.log('My Service Method');
}
}
// 在同一个文件中的其他类中使用服务
export class MyClass {
constructor(private myService: MyService) {
this.myService.myMethod();
}
}
在上面的代码中,我们首先将服务MyService
标记为可注入的,通过使用@Injectable装饰器和提供程序providedIn: 'root'
。然后,在MyClass类的构造函数中,我们将MyService作为一个参数传递,并将其存储在类的私有成员变量中。通过这样的方式,我们可以在MyClass类中使用MyService的方法和属性。
请注意,@Injectable装饰器必须在服务类上使用,并且在使用该服务的类的构造函数中使用依赖注入方式将其注入。
希望这可以帮助到你!