@viewchild for directive总是返回元素ref而不是指令reference-angular5

时间:2018-06-04 11:17:55

标签: angular angular5 angular-directive

我目前正在开发一个项目,我需要根据组件传递一些@input值。因此,该指令将相应地起作用。但问题是我无法获得该指令的参考。相反,我只得到了elementRef作为回报。请参考下面的stackblitz示例以获取更多参考。

https://stackblitz.com/edit/angular-feptw3

1 个答案:

答案 0 :(得分:0)

有解决方法:

1)使用read选项:

@ViewChild("myCustomDir", { read: MyCustomDirective}) myCustomDir: MyCustomDirective;

<强> Example

另见:

2)使用exportAs

<强> directive.ts

@Directive({
  selector: "[myCustom]",
  exportAs: 'myCustom'
  ^^^^^^^^^^^^^^^^^^^^
})
export class MyCustomDirective {
  ...
}

<强> HTML

<h1 myCustom #myCustomDir="myCustom">
                           ^^^^^^^^

<强> Example

另见: