1, Jeśli korzystasz z vue-router użyj this.$route.query zamiast bawić się location.path (ux-owo jeszcze ładniej byłoby zdefiniować dynamiczny route z id) W tym momencie, jeśli zmieni się ścieżka do tego widoku, będzie trzeba poprawiać kod w komponencie. Ponadto błąd ten nie będzie widoczny od razu. Jeśli nie korzystasz z vue router, użyj window.location.search
2. data singleNews powinno być na starcie nullem. Pusta tablica przechodzi przez ifa
3.
Użyłem (this.uri + params) ale gdzieś na StackOverflow znalazłem inne rozwiązanie które działało u osoby z problemem ale nie u mnie. Tym rozwiązaniem było (this.uri, {params})
Nie gdzieś na stacku czytałem i coś tam działało, tylko idziesz do dokumentacji i szukasz czego potrzebujesz https://github.com/axios/axios#example.
4. import axios from "axios" - nie mieszaj dwóch systemów modułów linijka za linijką.
5. Nie zostawiaj console.log-ów. Są niepotrzebne i irytujące przy dalszym rozwijaniu kodu.
6. created zamiast mounted, Nie ma sensu czekać z requestem do API, aż komponent zostanie zamontowany w DOM-ie
7. Jeśli korzystasz z tego samego API w innych miejscach w aplikacji, warto zdefiniować baseURL dla axiosa
8. Raz piszesz literał stringu z " innym razem '. Sporo niepotrzebnych enterów. Polecam używać eslinta.