Angular 2.0.2使用webpack时,在@Directive构造函数中没有ElementRef的提供者

时间:2016-11-04 17:23:52

标签: angular webpack angular-directive

我已经按照文档中的示例进行操作,并获得“错误:没有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应用程序要复杂得多,但我不知道是什么原因引起的。

1 个答案:

答案 0 :(得分:2)

当我输入时,我遇到了我的错误。在某些时候,我已将此指令添加到“@NgModule”中的提供程序中。服务不能使用“ElementRef”,因此@Directives不被视为服务。不过,这是一个奇怪的错误。