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

标签 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>

最佳答案

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

关于Angular 2 版本(SystemJS)无法解析 ElementRef : (? 的所有参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39815435/

相关文章:

javascript - DOM 事件详细信息不会在 Angular Click 事件上增加

angular - Ionic2 - 检查页面是否处于事件状态

angular - 我怎样才能让 typescript 相信可以在 Subject 上调用 Observable 运算符?

html - 在 html div 标签内显示 Angular 4 项目

angular - 如何在测试 angular2 组件时模拟可观察流?

angular - 如何将图标添加到 mat-table 中的 mat-sort-header

Angular 2 将表单分配给变量不起作用#f ="form"(提交)="onSubmit(f.value)"

没有子标签的从子到父的 Angular 传递数据

php - 类型 'id' 上不存在属性 'typeof Foods'

javascript - 如何在 Angular 6 中捕获第三方库中的数据?