
1 changed files with 92 additions and 1 deletions
@ -1,3 +1,94 @@ |
|||||
# vuejs-PictureOfDay |
# vuejs-PictureOfDay |
||||
|
|
||||
Jednoduchý repozitář obsahující základní kód a studenti budou mít za ukol splnit veškeré požadavky pro splnění úkolu |
|
||||
|
Jednoduchý repozitář obsahující základní kód a studenti budou mít za ukol splnit veškeré požadavky pro splnění úkolu |
||||
|
|
||||
|
### Během samostatné práce: |
||||
|
- lze použít vlastní zdrojové kódy a internet. |
||||
|
- Zakázano je komnunikovat s kymkoliv online |
||||
|
|
||||
|
### Práci odevzdat: |
||||
|
- vložit zdrojové kódy na git.asgard.odbornaskola.cz (doporučuji si vygenerovat .gitignore) |
||||
|
- na amos.odbornaskola.cz do konkrétního úkolu -> Odevzdat archiv (idealně ZIP) se složkama **src, public** a soubory končící s příponou **.json** a **.md** (např. package.json, jsconfig.json, readme.md) |
||||
|
|
||||
|
# Zadání úkolu |
||||
|
Vytvořit aplikaci založenou na *Vue.JS* který bude mít za účel zobrazit *"obrázek dne"* a připnutou citaci k danému obrázku s možností procházet "Kalendářem" (vyřeseno tlačítkem "další den" nebo tlačítkem "předchozí den"). Veškeré texty a cesty k obrázkům bude čteno z JSON souboru |
||||
|
|
||||
|
Vytvořit si JSON data pro tuto aplikace na **celý měsíc Březen** (1.3. - 31.3.) ->bude 31 *"záznamů"*. |
||||
|
|
||||
|
|
||||
|
## Chování aplikace |
||||
|
- **celá aplikace bude importovaná do *APP.VUE* jako KOMPONENTA** (název nechám na vás) |
||||
|
- webová aplikace po navšívení bude zobrazovat obrázek toho dne z JSON. |
||||
|
- pod obrázkem bude náhodný citat (VŠECHNY CITATY BUDOU RŮZNÉ) |
||||
|
- za pomocí *computed* vypočítávat nový datum pro zobrazení |
||||
|
- navigační tlačítka budou obsahovat: *Další datum, DNES, Předchozí datum* |
||||
|
- obrázky si to bude tahat ze složky **img** ve složce **assets** -> cesta bude např. *./assets/img/obrazek.png* (jak to budete importovat je na vás) |
||||
|
|
||||
|
## Rozložení layoutu |
||||
|
- aplikace bude mét veškerý text vycentrovaný `text-align: center` |
||||
|
- Aplikace bude obsahovat zeshora dolů ↓↓↓ |
||||
|
- 1) nadpis |
||||
|
- 2) obrázek |
||||
|
- 3) citace |
||||
|
- 4) navigační tlačítka |
||||
|
- 5) footer s vlastním jménem |
||||
|
## Vzor JSON dat |
||||
|
```json |
||||
|
[ |
||||
|
{ |
||||
|
"title":"Nadpis", |
||||
|
"content": "Citace 1", |
||||
|
"date":"1. 3. 2022", |
||||
|
"img":"img1.png" |
||||
|
}, |
||||
|
{ |
||||
|
"title":"Nadpis 2", |
||||
|
"content":"Citace 2", |
||||
|
"date":"1. 3. 2022", |
||||
|
"img":"img2.png |
||||
|
} |
||||
|
] |
||||
|
``` |
||||
|
## Předpřipravený data |
||||
|
|
||||
|
### NEOBSAHUJE VŠECHNY METODY/DATA, NĚKTERÉ SI BUDETE POTŘBEBA DOPROGRAMOVAT! |
||||
|
|
||||
|
#### POUŽÍTÍ JE ZCELA DOBROVOLNÉ! |
||||
|
|
||||
|
připravené neokomenovaných částí kodů, které zachrání nejvíce času |
||||
|
|
||||
|
```js |
||||
|
data: () => ({ |
||||
|
date: '', |
||||
|
calcDate: 0, |
||||
|
jsondata: jsondata |
||||
|
}), |
||||
|
methods: { |
||||
|
printDate: function () { |
||||
|
return new Date(); |
||||
|
//return new Date().toLocaleDateString(); |
||||
|
}, |
||||
|
selectDate: function(date, days){ |
||||
|
var result = new Date(date); |
||||
|
result.setDate(result.getDate() + days); |
||||
|
return result.toLocaleDateString(); |
||||
|
}, |
||||
|
|
||||
|
todayData: function () { |
||||
|
return this.jsondata.filter( |
||||
|
jsondata => jsondata.date == (new Date().toLocaleDateString())); |
||||
|
}, |
||||
|
selectDatum: function (datum) { |
||||
|
return this.jsondata.filter( |
||||
|
jsondata => jsondata.date == datum); |
||||
|
}, |
||||
|
}, |
||||
|
mounted: function () { |
||||
|
this.date = this.printDate(); |
||||
|
}, |
||||
|
computed: { |
||||
|
selectedDate: function () { |
||||
|
return this.selectDate(); |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
|
Loading…
Reference in new issue