Несогласованная ОШИБКА ТИПА при вызове метода из службы в Angular - PullRequest
0 голосов
/ 09 июля 2020

У меня есть приложение, отображающее вложения, которые были загружены пользователями.

В некоторых ситуациях я хочу «очистить» все мои Attachment-объекты в MyService. Как-то не могу вызвать чистый метод Attachment. Я получаю следующую ошибку: ERROR TypeError: attachment.clean не является функцией Однако, когда я создаю новый экземпляр Attachment, я могу вызвать этот метод.

Поскольку я новичок в Angular, Я еще не совсем разбираюсь в механике. Что здесь происходит? И как это исправить?

Мой класс обслуживания:

export class MyService {

    public attachments: Attachment[] = []

    populateAttachments(){
        ... //retriving data through service that populates the array
    }

    myMethod() {
        for (let attachment of this.attachments) {

            let newAttachment: Attachment = new Attachment("value1", 2, 2, "value2", "value3");
            newAttachment.clean();     // < --works just fine

            attachment.clean();        // <-- ERROR TypeError: attachment.clean is not a function
        }
    }
}

Мой класс модели:

export class Attachment {

    type: string;
    reasonPicked: number;
    optionPicked: number;
    documentName: string;
    document: string;

    constructor(type: string, reason_picked: number, option_picked: number, documentName: string, document: string) {

        this.type = type;
        this.reasonPicked = reason_picked;
        this.optionPicked = reason_picked;
        this.documentName = documentName;
        this.document = document;

    }

    public clean() {

        this.reasonPicked = 0;
        ...

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...