Angular2 +: Позвонить провайдеру из класса (не компонента) - PullRequest
0 голосов
/ 01 мая 2018

Допустим, у меня есть следующий провайдер:

import { HttpClient } from '@angular/common/http';

@Injectable()
export class ItemProvider {

    constructor(public http: HttpClient) {
    }

    add(qtt: number) {
        // POST with http and returns a promise
    }

}

И следующий класс:

export class Item {
    private qtt: number;

    constructor(qtt: number) {
        this.qtt = qtt;
    }

    add() {
        this.qtt++;
        // TODO Call add() from ItemProvider
    }
}

Как я могу вызвать add() из ItemProvider для моего add() метода, который находится в классе Item? Или это плохое мышление?

Просто чтобы вы знали, Элемент создается как let item = new Item(1), и метод add() вызывается из его представления, например:

<button (click)="item.add()"></button>

1 Ответ

0 голосов
/ 01 мая 2018

Это должно работать

@Injectable()
export class ItemProvider {

  add(qtt: number) {
    console.log(qtt)
    // POST with http and returns a promise
  }

}

    let item = new ItemProvider();
    item.add(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...