我正在尝试使用UpgradeComponent以便在我的 Angular 4 应用程序中使用 Angular 1 库( ui-grid )。
我的步骤:
创建一个新指令:
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(); } }
将其添加到我的模块
declarations: [UiGridDirective],
尝试在我的 index.html 中导入它
<script src="https://cdn.rawgit.com/angular-ui/bower-ui-grid/master/ui-grid.min.js"/>
得到这个错误:
第 3 步之前:
ERROR Error: Uncaught (in promise): Error: StaticInjectorError[$injector]:
StaticInjectorError[$injector]:
NullInjectorError: No provider for $injector!
第 3 步之后:
知道如何在我的 Angular 4 应用程序中使用这个 AngularJS 库吗?