Я новичок в angular У меня есть переменная уровня класса в моем angular компоненте под названием moratoriumID. Я вызываю метод, который вызывает POST, а затем присваивает номер moratoriumID, который возвращается из POST. Я считаю, что это работает по назначению, поскольку я вижу, что номер отображается в консоли отладчика chrome. Позже я пытаюсь получить доступ к переменной и использовать ее. Он говорит, что не определено. Зачем ? Что я не понимаю? Как я могу использовать moratoriumID позже в коде? Любое объяснение приветствуется. - Джейсон
export class AddMoratoriumsComponent implements OnInit {
moratoriumID: number;
//this gets called and assigns the moratoriumID from what I see
PostMoratorium(moratoriumtopost: Moratorium):void {
this.moratoriumService.PostMoratorium(moratoriumtopost)
.pipe(takeUntil(this.ngUnsubscribe))
.subscribe((data) => (this.moratoriumID) = (data),
(error) => (console.log(error)),
() => console.log('Post moratorium is complete', this.moratoriumID),
);}
//...I call it
this.PostMoratorium(moratoriumtopost);
//Later I try to use moratoriumID but it says its undefined ...why ?
if (this.selectzipvalues.length>0){
const res = this.isoLocs.filter(i => this.selectzipvalues.includes(i.zipCode));
res.forEach(myFunction);
function myFunction(item) {
const moratoriumlocationstopost = {
county:item.county ,
city:item.city,
zip:item.zipCode,
moratoriumId:this.moratoriumID, //IT SAYS ITS UNDEFINED ..WHY ?
} as MoratoriumLocation;
}}