要在Angular的服务/组件/指令和其他结构中使用依赖注入,您需要
Import
其他结构,然后在构造函数中列出它们。
例如(注射)
Title
服务):
import { Title } from '@angular/platform-browser';
@Component({ ... })
export class AppComponent implements OnInit {
public constructor(private _titleService: Title) {}
public ngOnInit(): void {
this._titleService.setTitle("I'm the Home Page"); // use injected service
}
}
现在我想用基类和驱动器类创建多态族,在基类中我注入外部服务,另外我不想将参数从驱动器类传递到基类
import { Title } from '@angular/platform-browser';
@Component({ ... })
export class BaseService {
public constructor(
private _titleService: Title,
private _message: string) {
console.log("Hello, I'm Base class. Message from Drive class: " + _message);
}
}
@Component({ ... })
export class DriveService extends BaseService {
public constructor() {
const message = "Hello from Drive class";
super(message); // <-- Error, missing parameter!
}
}
我的电脑出了一个错误
DriveService
BaseService
因为我没有通过标题服务。
现在我
不想从所有的孩子那里传递标题服务
BaseService的类。我想
导入并注入titleService
在BaseService代码中,只传递来自所有子类的_message参数。
这可能吗?如果是,怎么做?或者我应该导入TitleService并将其注入到DriveClass的每个实例中