• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

vuejs - pierwsza aplikacja

42 Warsaw Coding Academy
0 głosów
239 wizyt
pytanie zadane 12 września 2020 w JavaScript przez malvator Użytkownik (740 p.)

Witam,

napisałem swoją pierwszą aplikację we framewroku vuejs.

Jest to bardzo prosta aplikacja ale znam dopiero podstawy tej technologii.

Aplikację pisałem całkowicie sam.

Pominąłem lekko aspekty wizualne dlatego proszę o ocenę mechaniki tej aplikacji oraz kodu a nie uismiley.

Live oraz kod: https://codesandbox.io/s/vuefirstapp-3b609

 

ps. nazwy miast i państw proszę wpisywać bez polskich zanków

 

Z góry dziękuję za wszystkie odpowiedzi

1 odpowiedź

+1 głos
odpowiedź 13 września 2020 przez Grzdaczek Obywatel (1,070 p.)
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ć &deg; 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 !?
komentarz 13 września 2020 przez malvator Użytkownik (740 p.)
Dzięki za uwagi

ale czy generalnie jak na początkującego ujdzie to ?
komentarz 14 września 2020 przez Grzdaczek Obywatel (1,070 p.)
yup

Podobne pytania

0 głosów
1 odpowiedź 377 wizyt
pytanie zadane 19 listopada 2017 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
0 odpowiedzi 871 wizyt
pytanie zadane 8 sierpnia 2021 w JavaScript przez Artek238 Początkujący (380 p.)
0 głosów
1 odpowiedź 594 wizyt
pytanie zadane 10 sierpnia 2022 w JavaScript przez jakubjordanek Obywatel (1,340 p.)

93,377 zapytań

142,379 odpowiedzi

322,528 komentarzy

62,726 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...