簡體   English   中英

擴展Angular2指令

[英]Extend Angular2 Directive

我正在嘗試擴展angular2-clipboard npm包。 我需要訪問其ngOnInit()函數並重寫它以適合特定的用例進行復制。

我是angular2的新手,不確定如何執行此操作,到目前為止,我一直在嘗試的方法與下面的鏈接有關。 由於將包導出為名為ClipboardModule的模塊,因此我遇到了困難,我需要使用指令。

這是插件github和plunker供參考:

  1. GitHub: https : //github.com/maxisam/angular2-clipboard
    • 顯示導出的文件是src / clipboard.module.ts
    • 他們的github也有一個指向它工作的更簡單示例的鏈接
  2. 我的朋克: https ://embed.plnkr.co/sIxmFo/

這就是定義服務而不是指令的方式。

@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM