Angular 2 Release(SystemJS)无法解析ElementRef的所有参数:(?)

时间:2016-10-02 09:00:47

标签: angular

我刚从RC 4升级到Angular 2 Final Release,我收到错误:(SystemJS) Can't resolve all parameters for ElementRef: (?)

这是我的app.module.ts代码:

import { NgModule, ElementRef }       from '@angular/core';
import {FormsModule} from '@angular/forms';
import { HttpModule, JsonpModule } from '@angular/http';
import { BrowserModule  } from '@angular/platform-browser';
import {DashboardModule} from '../../areas/dashboard/dashboard.module';
import {AppComponent} from '../../areas/dashboard/app.component';
import { NgGridModule } from 'angular2-grid';

@NgModule({
    declarations: [AppComponent],
    imports: [BrowserModule, HttpModule, FormsModule, DashboardModule, NgGridModule],
    bootstrap: [AppComponent],
    providers: [ElementRef]
})
export class AppModule {}

我不能只在组件级别导入它,因为我也在使用依赖它的插件(例如angular2-grid

任何想法?

提前谢谢

编辑:

以下是一些调用ngGrid的代码:

<div [attr.ngGrid]="gridConfig" (onItemChange)="onGridItemChange($event)">
        <div *ngFor="let Widget of Widgets" class="gridWidget" [class.showingGridView]="Widget.gridview.show" [(attr.ngGridItem)]="Widget.widget" id="widget_{{Widget.id}}">
            <div class="title handle"></div>
            <h5 class="grid-item-title">{{Widget.title}}</h5>
            <a *ngIf="Widget.gridview.show && (Widget.chart.data || Widget.chart.datasets)" class="backLink" title="Back to Chart" (click)="toggleGridView($event)" href="" id="{{Widget.id}}"><i class="fa fa-undo"></i></a>
            <a (click)="removeWidgetFromBoard($event)" href="" class="removeLink" id="removeWidgetLink_{{Widget.id}}" title="Remove Widget from Dashboard"><i class="fa fa-trash"></i></a>
            <base-chart *ngIf="!Widget.gridview.show" class="chart" id="chart_{{Widget.id}}"
                        [attr.data]="Widget.chart.data"
                        [attr.datasets]="Widget.chart.datasets"
                        [attr.labels]="Widget.chart.labels"
                        [attr.options]="Widget.chart.options"
                        [attr.legend]="Widget.chart.legend"
                        [attr.chartType]="Widget.chart.chartType"
                        (chartClick)="chartClicked($event)"></base-chart>
            <iwe-datatable *ngIf="Widget.gridview.show" id="data-table"
                           attr.table_title="{{Widget.title}}"
                           attr.table_summary="A table with data for {{Widget.title}}."
                           attr.border_type="vertical"
                           attr.table_content="{{Widget.gridview.tableData}}">
            </iwe-datatable>
            <img class="smallSpinner" [ngClass]="{visible: Widget.showSpinner}" src="/iwe/img/BG_Spinner_32.gif" alt="Small Spinner" width="34" height="34">
        </div>
    </div>

2 个答案:

答案 0 :(得分:0)

您自己不提供ElementRefElementRef由DI动态提供,它始终是对注入它的组件的主机元素的引用。

答案 1 :(得分:0)

尝试删除node_modulestypings目录并运行npm i

人们在升级后遇到各种奇怪的错误/问题,并且干净的npm安装似乎已经解决了很多次。

如果仍然无效,请发布您的package.json