我已经按照文档中的示例进行操作,并获得“错误:没有ElementRef的提供程序!”。在@Component中使用ElementRef时,它可以正常工作。我正在添加的是ElementRef和Renderer(渲染器没有问题):
import { Directive, AfterViewInit, ElementRef, Renderer} from '@angular/core';
export class blah implements AfterViewInit {
constructor(private el: ElementRef, private renderer: Renderer) { }
ngAfterViewInit() {
...
我没有尝试过任何工作,所以我从文档中拿了示例, https://angular.io/docs/ts/latest/guide/attribute-directives.html,并将其放入快速入门(使用systemJS)。它工作正常。当我将其迁移到webpack配置https://angular.io/docs/ts/latest/guide/webpack.html时,它运行正常。有问题的angular2应用程序要复杂得多,但我不知道是什么原因引起的。
答案 0 :(得分:2)
当我输入时,我遇到了我的错误。在某些时候,我已将此指令添加到“@NgModule”中的提供程序中。服务不能使用“ElementRef”,因此@Directives不被视为服务。不过,这是一个奇怪的错误。