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

Aplikacja Vue JS

Object Storage Arubacloud
0 głosów
272 wizyt
pytanie zadane 12 listopada 2018 w JavaScript przez Mash92 Użytkownik (670 p.)

Witam, kupiłem książkę tworzenie reaktywnych aplikacji vue.js 2 , w rozdziale 2 jest  projekt aplikacji liczącej czas pracy i czas relaksu.

const POMODORO_STATES = {
  WORK: 'work',
  REST: 'rest'
};

const WORKING_TIME_LENGTH_IN_MINUTES = 1;
const RESTING_TIME_LENGTH_IN_MINUTES = 5;

new Vue({
  el: '#app',
  data: {
    state: STATES.STOPPED,
    minute: WORKING_TIME_LENGTH_IN_MINUTES,
    second: 0,
    pomodoroState: POMODORO_STATES.WORK,
    timestamp: 0
  },
 methods: {
    start: function () {
      this.state = STATES.STARTED;
      this._tick();
      this.interval = setInterval(this._tick, 1000);
    },

    _tick: function () {
      // jeżeli wartość second jest większa od 0, zmniejsz ją o 1
      if (this.second !== 0) {
        this.second--;
        return;
      }
      // jeśli second ma wartość 0, ale minute nie, zmniejsz minute o 1 i nadaj second wartość 59
      if (this.minute !== 0) {
        this.minute--;
        this.second = 59;
        return;
      }
      // jeśli i second, i minute są równe 0, przełącz między czasem pracy a odpoczynkiem
      this.pomodoroState = this.pomodoroState === POMODORO_STATES.WORK ? POMODORO_STATES.REST : POMODORO_STATES.WORK;
      if (this.pomodoroState === POMODORO_STATES.WORK) {
        this.minute = WORKING_TIME_LENGTH_IN_MINUTES;
      } else {
        this.minute = RESTING_TIME_LENGTH_IN_MINUTES;
      }
    }
  }
});

Potrzebuję osoby która mi wytłumaczy działanie tego programu. Na jakiej zasadzie powstała wartość this._tick() ?

Nie mogę znaleźć rozwiązania na koniec kodu: 

      this.pomodoroState = this.pomodoroState === POMODORO_STATES.WORK ? POMODORO_STATES.REST : POMODORO_STATES.WORK;
      if (this.pomodoroState === POMODORO_STATES.WORK) {
        this.minute = WORKING_TIME_LENGTH_IN_MINUTES;
      } else {
        this.minute = RESTING_TIME_LENGTH_IN_MINUTES;

co oznaczają =, ===, ? , : 

nie widzę wytłumaczenia w książce a na w dokumentacji się słabo poruszam.

4 odpowiedzi

+4 głosów
odpowiedź 12 listopada 2018 przez pablop76 VIP (123,180 p.)

Powinieneś zacząć od początku, czyli od czystego javascript , bo to o co pytasz to podstawa JS a dokładnie operatory.

 

+2 głosów
odpowiedź 12 listopada 2018 przez niezalogowany
= oznacza przypisanie

=== oznacza identyczne czyli nie dość że coś musi równać się czemuś to też musi mieć taki sam typ

i tak jak kolega powyżej przeczytaj jakąś książkę bo to są podstawy ja mogę polecić ci Javascript i Jquery interaktywne strony www dla każdego
0 głosów
odpowiedź 12 listopada 2018 przez Mash92 Użytkownik (670 p.)

znaki równości to się domyśliłem, że chodzi o js , jedynie zdziwiło mnie te : i ? smiley tego nie mogłem przypisać

 

0 głosów
odpowiedź 14 listopada 2018 przez Mash92 Użytkownik (670 p.)
Już prawie wszystko rozumiem, tylko mam dwa problemy, po co jest przypisanie this.pomodoroState = this.pomodoroState, rozumiem że jest to operator przypisania ale po co do dwóch takich samych. Drugie pytanie jak są pobierane wartości z work i rest bo funkcja start i rest o tym nic nie wspomina.
komentarz 14 listopada 2018 przez niezalogowany
A gdzie jest to this.pomodoroState = this.pomodoroState?
komentarz 14 listopada 2018 przez Mash92 Użytkownik (670 p.)
38 linijka
komentarz 15 listopada 2018 przez niezalogowany

W 38 linijce nie ma this.pomodoroState = this.pomodoroState a jest:

this.pomodoroState = this.pomodoroState === POMODORO_STATES.WORK ? POMODORO_STATES.REST : POMODORO_STATES.WORK;

i jest to skrócony zapis 'if'. Można to przetłumaczyć tak:

Jeśli this.pomodoroState jest równe POMODORO_STATES.WORK to wtedy zwróć POMODORO_STATES.REST, czyli this.pomodoroState = POMODORO_STATES.REST. W przeciwnym przypadku zwróć POMODORO_STATES.WORK, czyli this.pomodoroState = POMODORO_STATES.WORK,

 

 

 

Podobne pytania

0 głosów
2 odpowiedzi 627 wizyt
pytanie zadane 11 września 2018 w JavaScript przez sapero Gaduła (4,100 p.)
0 głosów
1 odpowiedź 222 wizyt
pytanie zadane 11 września 2017 w JavaScript przez lapacz.kornel Mądrala (6,930 p.)
0 głosów
1 odpowiedź 198 wizyt

92,632 zapytań

141,500 odpowiedzi

319,879 komentarzy

62,013 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...