2016-08-19 58 views
1

我已經爲textarea(TextAreaExt)創建了一個指令,我想從它使用的組件中調用該指令的一個方法。指令的選擇符是「textarea」(沒有屬性,影響所有textarea元素)。在我的組件中,如果我做以下操作:從組件訪問angular2指令

@ViewChild('TextAreaExt') txt: TextAreaExt; 

我可以成功地在txt上調用方法。但是如果我有多個textareas呢?我想這樣做,而不是:

@ViewChild('txt') txt: TextAreaExt; 

不幸的是,上述行不會返回一個TextAreaExt類,而是返回一個ElementRef。

我怎麼能解決這個問題,使我可以有多個文本區域?

回答

0

這應該做你想要什麼:

@ViewChild('txt', {read: TextAreaExt}) txt: TextAreaExt; 

如果有更多的指令,組件或其它DI令牌註冊一個元素,read允許你指定你想要得到返回哪一個。

+0

謝謝!像魅力一樣工作 – marius