2

我正在尝试使用UpgradeComponent以便在我的 Angular 4 应用程序中使用 Angular 1 库( ui-grid )。

我的步骤:

  1. 创建一个新指令:

    import {
    Directive, ElementRef, Injector, Input, OnInit, SimpleChanges, OnChanges, 
    DoCheck,
    
    
    OnDestroy, Output, EventEmitter, Inject
    } from '@angular/core';
    import { UpgradeComponent } from '@angular/upgrade/static';
    
    @Directive({selector: 'ui-grid'})
    export class UiGridDirective extends UpgradeComponent implements OnInit,                 OnChanges, DoCheck,
      OnDestroy {
    
    @Input() data: {};
    @Output() onUpdate: EventEmitter<{}>;
    
    constructor(@Inject(ElementRef) elementRef: ElementRef, @Inject(Injector)                 
     injector: Injector) {
        super('ui-grid', elementRef, injector);
      }
    
      ngOnInit() { super.ngOnInit(); }
    
      ngOnChanges(changes: SimpleChanges) { super.ngOnChanges(changes); }
      ngDoCheck() { super.ngDoCheck(); }
     ngOnDestroy() { super.ngOnDestroy(); }
    }
    
  2. 将其添加到我的模块

     declarations: [UiGridDirective],
    
  3. 尝试在我的 index.html 中导入它

    <script src="https://cdn.rawgit.com/angular-ui/bower-ui-grid/master/ui-grid.min.js"/>
    
  4. 得到这个错误:

第 3 步之前:

ERROR Error: Uncaught (in promise): Error: StaticInjectorError[$injector]: 
  StaticInjectorError[$injector]: 
    NullInjectorError: No provider for $injector!

第 3 步之后:

在此处输入图像描述

知道如何在我的 Angular 4 应用程序中使用这个 AngularJS 库吗?

4

0 回答 0