当我按照 JIT 指令构建时ng build
;当我使用标志ng build --prod
为 AOT 构建时,一切都很好,该应用程序有效。但是当我尝试使用它编译它(AOT)时,出现以下错误:--aot
ng build --aot
ngc
Can't resolve all parameters for HomeComponent in /appname/src/app/home/home.component.ts: (?).
这是 HomeComponent 类:
import {EventManager} from 'app/directives/EventManager.directive';
@Component({
selector:'home',
template:`
...
`,
styleUrls: ['./home.component.css']
})
export class HomeComponent {
showLoggedBar:Boolean;
constructor(private _eventManager:EventManager) {
this._eventManager.showLoggedBar.subscribe((mode)=> {
if(mode)
{
this._eventManager.showBar.emit(true);
this.showLoggedBar = mode;
}
});
}
}
[编辑] 事件管理器:
@Injectable()
export class EventManager {
public showLoggedBar: EventEmitter<any> = new EventEmitter();
public showLoggedDoBar: EventEmitter<any> = new EventEmitter();
public showDoBar: EventEmitter<any> = new EventEmitter();
public showBar:EventEmitter<any>=new EventEmitter();
public dataSearch:EventEmitter<any>= new EventEmitter();
public updateP:EventEmitter<any>=new EventEmitter();
public updateD:EventEmitter<any>=new EventEmitter();
public detailsAvailable:EventEmitter<any>= new EventEmitter();
public infoAp:EventEmitter<any>= new EventEmitter();
constructor() {
this.showBar.emit(true);
}
}
[编辑] app.module.ts :
import{NgModule} from '@angular/core';
import {
LocationStrategy,
PathLocationStrategy
} from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { routing, appRoutingProviders } from './app.routing';
import { HomeComponent } from './home/home.component';
import { HttpModule } from '@angular/http';
import {EventManager} from '../app/directives/EventManager.directive';
@NgModule({
declarations:
[
...
HomeComponent,
...
],
imports: [BrowserModule,HttpModule,...],
bootstrap: [AppComponent],
providers:[
...
EventManager,
...
]
})
export class AppModule {}
您知道错误的原因吗?