从组件访问angular2指令

时间:2016-08-19 05:52:04

标签: angular angularjs-directive

我已经为textarea(TextAreaExt)创建了一个指令,我想从它所使用的组件中调用该指令的方法。该指令的选择器是" textarea" (没有属性,影响所有textarea元素)。在我的组件中,如果我执行以下操作:

@ViewChild('TextAreaExt') txt: TextAreaExt;

我可以成功调用txt上的方法。但是,如果我有多个textareas怎么办?我想这样做:

@ViewChild('txt') txt: TextAreaExt;

不幸的是,上面的行不返回TextAreaExt类,而是返回一个ElementRef。

我怎样才能解决这个问题,以便我可以有多个文本区域?

1 个答案:

答案 0 :(得分:0)

这应该做你想要的:

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

如果有更多指令,组件或其他DI标记为元素注册,read允许您指定要返回的标记。