Hej,
W poszczególnych komponentach użyłeś tego samego ID, ("root" chyba ze 4 razy), jeżeli potrzebujesz sposobu na wybieranie elementów w css użyj atrybutu class, nawet jeżeli miał by być użyty tylko raz w komponencie, pozwala to na jego wielokrotne wykorzystanie i zapobiega niechcianym kolizją id.
Nazwę "sendEventAndValue" zmienił bym na po prostu "onChange", patrząc na to z perspektywy App.vue nie da się łatwo domyśleć co znaczy "<SearchInput @sendEventAndValue="getData"/>", Ta linijka powinna być fasadą komponentu nie wymagającą wyjaśnienia.
W package.json, wydaje mi się że "@vue/cli-plugin-babel": "4.1.1", powinno się znajdować pod "devDependencies" a nie "dependencies"
W App.vue ustawiasz wartości początkowe temperature i humidity na "", pomimo tego że zapytanie zwraca typ Number dla tych pól
Dalej w App.vue używasz error jako flagi od której zależnie jest renderowanie contentu, w waronku v-if="error == 1", intuicyjnie error==1 oznacza obecność błędu, a ustawiasz error na 1 po udanym zapytaniu do weatherapi, zmienił bym nazwę na np. isDataReady i wartościami true i false, Co skróciło by warunek do v-if="isDataReady" i ułatwiło zrozumienie kodu
Jeżeli już zamierzasz umieszczać komentarze nad funkcjami nie używaj //Komentarz tylko /**Komentarz*/, pozwala to na wyświetlenie twojego komentarza w podpowiedzi po najechaniu na nazwę funkcji gdziekolwiek w kodzie programu. to samo tyczy się zmiennych, stałych, metod, itp.
Przy temperaturze zamiast ° powinno być ° unikniesz w ten sposób ewentualnych problemów z enkodowaniem i potrzeby przeklejania symboli z tablicy znaków
Raz piszesz props: ["Temperature"] z wielkiej litery a raz z props: ["location"] małej, przyjmij jedną konwencję, najlepiej z małej, Wielkie litery są zwykle zarezerwowane na nazwy klas, typów, komponentów
W App.js, "this.inputValue" nie jest używane nigdzie poza metodą "getData" w której i tak jest dostępne "value", jeżeli już chcesz mieć dostęp do value wszędzie w App.js proponował bym zrezygnowanie z sendEventAndValue i użycie v-model: <SearchInput v-model="inputValue"/>.
Czy to jest Comic Sans !?