无法注入共享角度组件

时间:2018-02-07 13:00:52

标签: angular angular-components

我有2个Angular应用程序:

  1. 包含一个角度组件。
  2. 使用第一个应用程序中的组件。
  3. 如果我运行第一个应用程序,工作正常, 如果我运行第二个应用程序,我会尝试从第一个应用程序注入到组件中的所有内容。 例外:

    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>
    

0 个答案:

没有答案