NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

Diskuze – Lekce 5 - Tvorba OOP diáře v JavaScriptu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Filip Sáblík:14.9.2020 11:43

Ahoj, všechno funguje, jen nechápu, proč musím this.vypisZaz­namy(); použít v metode nastavUdalosti a nejde to pouzit v konstruktoru.

 
Odpovědět
14.9.2020 11:43
Avatar
Odpovídá na Filip Sáblík
Slavomír Ďurík:21.1.2021 14:40

Aho, myslim ze preto, lebo by sa volala zakazdym ked vznikne instancia objektu. Takto je naviazane len na akciu .onclick a vykona sa len ked kliknes na tlacidlo

 
Odpovědět
21.1.2021 14:40
Avatar
Jaroslav Drobek:21.6.2022 6:36

Hodnocení:

  • "vypadat...způ­sobem" - ehm, ehm..vzhled ani češtinu nebudeme řešit.
  • Nechce se mi hledat, ale o změně kontextu na "this obsahuje instanci třídy" bych v "Základních konstrukcích JavaScriptu" nic neočekával.
 
Odpovědět
21.6.2022 6:36
Avatar
Jakub Frei
Člen
Avatar
Odpovídá na Filip Sáblík
Jakub Frei:22.6.2022 11:43

Mrzí mě, že ti za celou tu dobu odpověděl jen jeden člověk, chtělo by to větší odezvu vývojářů v komentářích....

 
Odpovědět
22.6.2022 11:43
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Jakub Frei
Lubor Pešek:28.7.2022 15:39

Ale když odpoví jednoznačně a správně, tak co k tomu víc dodat?
Navíc koukám, že kurzy o JS jako takový tady moc nefrčí. Minimálně to jde vidět na testech - docela málo lidí je absolvovalo.

  • ber to i tak, že zkušení programátoři nemají potřebu projíždět tutoriály. Maximálně jako já, který má zkušenost v jiném jazyce a učí se nový jazyk, tak si to projde, ale jinak se spíš budou zajímat pouze o issue na forum, když už.
Odpovědět
28.7.2022 15:39
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovídá na Filip Sáblík
Jiří Hruška:17.11.2022 11:08

Ahoj, jsem jen začátečník, ale dle mého to je proto, protože to provede metodu vypisZaznamy() až ve chvíli, kdy to přidáš na .onclick. Pokud by to bylo v konstruktoru, tak se ta metoda zavolá při vytváření konstruktoru (kdy tam záznamy nejsou) a když budeš chtít přidat nový záznam, tak už se k ní nedostaneš a záznam se nevypíše.

 
Odpovědět
17.11.2022 11:08
Avatar
Odpovídá na Filip Sáblík
Petra Mollerová:18.6.2023 21:14

V metodě nastavUdalosti se ukládá nový záznam do pole, tak je vhodné následně aktualizovat výpis o tento nově přidaný záznam. 😉

 
Odpovědět
18.6.2023 21:14
Avatar
Daniel Zábojník:14.9.2023 14:47

Děkujeme za podněty. Na aktualizace kurzu pracujeme.

 
Odpovědět
14.9.2023 14:47
Avatar
Edita Karlovská:21.12.2023 10:39

Kalendář se bohužel zobrazuje v angličtině, a to i v případě, když si načtu stažený kód přímo z této lekce. V čem je problém? Díky.

 
Odpovědět
21.12.2023 10:39
Avatar
Jan Gritzbach:28.12.2023 20:42

Mám dotaz ohledně problému s kontextem klíčového slova "this".

V článku řešíte situaci pomocí arrow function, která kontext this nezmění, a pod slovem this tedy nadále zůstane uložena původní reference na instanci diáře.

Napadlo mě alternativní řešení, a sice že by si mohl diář referenci na sebe samého uložit do nějaké pomocné proměnné (nazvané např. self) ještě předtím, než se kontext this změní.

Kód metody nastavUdalosti() by mohl vypadat takto:

nastavUdalosti() {
    const self = this    // právě zde nám pomocná proměnná podrží odkaz na instanci diáře

    this.potvrditButton.onclick = function() {
        // zde už nepoužíváme slovo this, ale self
        const zaznam = new Zaznam(self.nazevInput.value, self.datumInput.value);
        self.zaznamy.push(zaznam);
        self.vypisZaznamy();
    };
}

Zkoušel jsem to otestovat a zdá se, že to funguje.
Jde o alternativní možnost anebo to není správný přístup?
Děkuji.

Odpovědět
28.12.2023 20:42
"Stay curious, learn every day!"
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 11.