2016-08-19 59 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