[英]Extend Angular2 Directive
我正在嘗試擴展angular2-clipboard npm包。 我需要訪問其ngOnInit()
函數並重寫它以適合特定的用例進行復制。
我是angular2的新手,不確定如何執行此操作,到目前為止,我一直在嘗試的方法與下面的鏈接有關。 由於將包導出為名為ClipboardModule的模塊,因此我遇到了困難,我需要使用指令。
這是插件github和plunker供參考:
這就是定義服務而不是指令的方式。
@Injectable()
export default class CopyDirective extends ClipboardModule {
public cm: any; // better way than any?
constructor(cm: ClipboardModule) {
super();
this.cm = cm;
}
}
指令需要@Directive()
裝飾器,而不是@Injectable()
當前不支持使用組件,指令和管道進行繼承。
我也不明白為什么要擴展指令時擴展模塊。 您需要直接擴展指令類。
另請參閱https://github.com/angular/angular/issues/11606
但是某些情況下可以使用。 通常,您需要重復子類中的所有裝飾器。
@Component()
, @Directive()
, @Input()
, @Output()
, @ViewChild(ren)()
, @ContentChild(ren)()
。 ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.