Mam klase obslugujaca requesty axios, chcialbym aby byla dostepna dla wszystkich modulow importowanych dynamicznie badz statycznie do vuex store.
Obecnie robie to w ten sposob:
Dla api mam osobny modul w ktorym kazda metode klasy przypisuje do actions.
Dzieki temu moge np w innych modulach uzywac:
dispatch('api/get', null, {root: true}
ale mozna podac tylko jeden parametr jako obiekt co komplikuje zapis i nie jest wygodne jak
const api = new Api();
api.get(var, var , var);
moglbym rowniez w store.js stworzyc window.api = new Api(); ale nie wiem czy nie bedzie jakichs memory leaks jesli w calej aplikacji beda referencje do tej zmiennej
lub
root store.js
state: {
api: new Api();
}
i w akcjach innych modolow podawac rootState
rootState.api.get()
ale to najmniej mi sie podoba.
Importowanie w kazdym module z osobna chyba mija sie z celem, moglby ktos doradzic co bedzie najlepsze?