我正在嘗試使用angular-cli來獲得AOT編譯設置。我有一個從抽象類繼承的指令,並且在編譯期間出現錯誤,無法確定抽象類屬於哪個模塊。我不能將它添加到NgModule的聲明數組中,那麼有什麼正確的方法可以解決這個問題呢?我的代碼結構看起來像這樣,Angular 2 angular-cli AOT在模塊中聲明抽象類?
//...imports
export abstract class TutorialDirective {
//...base class logic
}
@Directive({
selector: '[tut]',
exportAs: 'tut'
})
export class DefaultTutorialDirective extends TutorialDirective {
//...calls into the base class for some shared stuff.
}
錯誤看起來像這樣
ERROR in Cannot determine the module for class TutorialDirective in /test-app/src/app/tutorial/directive/tutorial.directive.ts!
我的AppModule:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { TutorialService } from './tutorial/tutorial.service';
import { TutorialDirective, DefaultTutorialDirective } from './tutorial/directive/tutorial.directive';
@NgModule({
declarations: [
AppComponent,
DefaultTutorialDirective
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [TutorialService],
bootstrap: [AppComponent]
})
export class AppModule { }
好一些調試後,如果我做它不是抽象的,它添加到聲明它的作品。這是否意味着我不能將課程標記爲抽象?這似乎不正確的...
爲您的模塊添加代碼app.module.ts – Aravind
@Aravind ok。我無法將TutorialDirective添加到聲明數組中。只是讓你知道。 – Steveadoo
好吧,如果我不把它抽象並將它添加到聲明它的工作。這是否意味着我不能將課程標記爲抽象?這似乎不正確... – Steveadoo