Есть несколько моментов, которые необходимо знать, прежде чем вы сможете это сделать.
1) Хотите ли вы использовать один и тот же экземпляр службы для вашего класса и компонента?
Если да, вызатем можете «ПРЕДОСТАВИТЬ» услугу в вашем КОМПОНЕНТЕ и передать экземпляр службы вашему КЛАССУ.
@Component({
selector: '',
templateUrl: '',
providers: [Provide your service here]
})
export class MyComponent implements AfterViewInit {
constructor(serv: MyServ){
const myClass = new MyClass(serv);
}
}
Обратите внимание, что если вы уже предоставили услугу в модуле, вы невам не нужно предоставлять его снова в компоненте.
Преимущество этого заключается в том, что вы теперь совместно используете один и тот же экземпляр службы с вашим классом и компонентом.
2)Если вы не хотите делиться экземпляром, вы можете просто создать новый экземпляр службы в конструкторе вашего класса.
import { MyService } from '../services/myService';
export class MyClass {
constructor(myService: MyService = new MyService()) {
}
}
Здесь вы задали параметр по умолчанию для вашего конструктора класса.Поэтому, если кто-то (Компонент в вашем случае) пропустит экземпляр службы, он будет использовать его, в противном случае он создаст свой собственный экземпляр.