我有2个Angular应用程序:
如果我运行第一个应用程序,工作正常, 如果我运行第二个应用程序,我会尝试从第一个应用程序注入到组件中的所有内容。 例外:
ERROR Error: StaticInjectorError(AppModule)[SampleComponent -> ElementRef]:
StaticInjectorError(Platform: core)[SampleComponent -> ElementRef]:
NullInjectorError: No provider for ElementRef!
这是我的代码:
首次申请:
样品component.ts
import { Component, ElementRef } from '@angular/core';
@Component({
selector: 'sample-component',
templateUrl: './sample-component.component.html',
styleUrls: ['./sample-component.component.css']
})
export class SampleComponent {
constructor( private el: ElementRef ) { }
}
index.ts
import { SampleComponent } from './sample-component/sample-component.component';
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
export { SampleComponent} from './sample-component/sample-component.component';
@NgModule({
imports: [
CommonModule
],
declarations: [
SampleComponent
],
exports: [
SampleComponent
]
})
export class SampleModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SampleModule,
providers: []
};
}
}
第二次申请:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { SampleModule } from './../sample-app/src/app'
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent,
],
imports: [
SampleModule.forRoot(),
BrowserModule
],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<sample-component></sample-component>