Angular ошибка ERROR TypeError: is undefined

221
19 октября 2021, 15:10

Здраствуйте. Пытаюсь сделать обработчик который будет создавать масив разделов в зависимости от того есть ли для него ресурсы или нет. Последний метод выдает ошибку. ERROR TypeError: "this.allProjectResources is undefined"

import { ResourceCategory } from './resourceCategory';
import { Injectable } from '@angular/core';
import { Resource } from './resource';
import { HttpService } from '../project/http.service';
import { isNullOrUndefined } from 'util';
@Injectable()
export class ResourceService {
    public allProjectResources: Resource[];
    public allResourceCategories: ResourceCategory[];
    uniqueResCategories = new Set();
    constructor(private http: HttpService) { }
    getAllResourcesByProjId(projid: number) {
        if (!(isNullOrUndefined(this.allProjectResources))) {
            this.allProjectResources.length = 0;
        }
        this.http.getAllResourcesById(projid).subscribe((data: Resource[]) => 
        this.allProjectResources = data);
    }
    getAllResourceCategories() {
        this.http.getAllResourceCategories().subscribe((data: ResourceCategory[]) =>
        this.allResourceCategories = data);
    }
    getAllUniqieResourceCategories(){
        this.allProjectResources.forEach(resource => {
            this.allResourceCategories.forEach(function (category) {
                if (resource.resourceCategoryId == category.id) {
                    this.uniqueResCategories.add(category.name);
                    console.log(category.name);
                };
            });
        });
    }
}
Answer 1

в общем инициализация масива решила ошибку. public allProjectResources: Resource[] = []; public allResourceCategories: ResourceCategory[] = [];

READ ALSO
This в безымянном объекте возвращает undefined

This в безымянном объекте возвращает undefined

в js объекте без имени есть свойстваКак сделать так что бы одно свойство зависело от другого

78
по событию ng-click сделать имитацию клика на tab

по событию ng-click сделать имитацию клика на tab

Имеется headerphp в котором 5 табов

162
Эффект по кнопке от мышки при клике (jQuery) Как? [закрыт]

Эффект по кнопке от мышки при клике (jQuery) Как? [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

246