typescript - نمیتوان از کلاسهای موجودیت با NgModule در Angular 2 استفاده کرد
من در یک پروژه با Angular 2 + Typescript کار میکنم و اخیراً برنامه را با استفاده از NgModule راهاندازی کردهام.
من از برخی کلاسهای ES5 برای نمایش موجودیتها در سرویسها و کامپوننتها استفاده میکنم، اما اینها توسط کتابخانههای خارجی مانند zone.js یا platform-browser شناسایی نمیشوند.
کنسول این خطا را ثبت میکند:
TypeError: نمیتوان ویژگی 'toString' از مقدار null را خواند
چگونه میتوانم این کلاسها را در NgModule صادر کنم تا از منابع خارجی قابل دسترسی باشند؟
@NgModule({
imports: [
BrowserModule,
RouterModule,
FormsModule,
HttpModule,
JsonpModule,
routing
],
providers: [
HeroService,
appRoutingProviders
],
declarations: [
HeroComponent
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
فرض کنیم من از یک کلاس Hero به این شکل استفاده میکنم:
export class Hero {
id: number;
name: string;
constructor(id: number, name: string) {
this.id = id;
this.name = name;
}
}
وقتی سعی میکنم از این کلاس Hero در Services و Promises استفاده کنم، همیشه خطا میگیرم زیرا در تعریف NgModule ارائه نشده است.
پاسخ شماره ۱
به نظر میرسد تغییرات در rc5 اجازه نمیدهند فایل جاوااسکریپت مینیفای شده شما تغییر کند:
https://github.com/angular/angular/issues/10618
راه حل این بود که از خراب کردن جلوگیری کنند، تا زمانی که برای این مشکل راه حلی پیدا شود.