Reset komponenty do výchozího stavu
- Fires
- Člen | 97
Zdravím, snažím se trochu natrénovat komponenty a dělám alternativu k fifteen. Prostě 5×5 polí a pomocí tlačítek se snažíte dostat křížek na určený čtverec. Nic zajimavého. Každopádně nějak to funguje, ale nevím jak na konci (game over, hra u konce. Začít znovu). Jak vynutit „začít znovu“, takže vyresetovat komponentu do výchozího stavu bez persistentních parametru? V presenteru bych asi věděl ale lze to udělat na úrovní komponenty? Nejaký jednoduchů způsob jak to vyresetovat?
Díky moc.
- m.brecher
- Generous Backer | 889
@Fires
Restart provedeme tímto odkazem:
Píšu z hlavy, takže bez záruky, musíš si to doladit:
Fígl je v tom přesměrování.
Komponenty umí přesměrovat stránku stejně jako presentery, dalo by se i volat:
a pravděpodobně by stačilo nastavit persistentní parametry, ty lokální by se po redirectu nastavily asi samy:
public function handleRestart()
{
// reset persistentních parametrů
$this->position = [];
.......
$this->redirect();
}
`
Tak to vyzkoušej a napiš, jestli to takhle funguje ;).
- Fires
- Člen | 97
m.brecher napsal(a):
@Fires
Restart provedeme tímto odkazem:
Píšu z hlavy, takže bez záruky, musíš si to doladit:
Fígl je v tom přesměrování.
Komponenty umí přesměrovat stránku stejně jako presentery, dalo by se i volat:
a pravděpodobně by stačilo nastavit persistentní parametry, ty lokální by se po redirectu nastavily asi samy:
public function handleRestart()
{
// reset persistentních parametrů
$this->position = [];.......
$this->redirect();
}
`
Tak to vyzkoušej a napiš, jestli to takhle funguje ;).
Stále drží persistentní parametry. Můžu je ručně vymazat v tom handle a znova náhodně inicializovat prakticky zkopírovat construct. Ale nepříjde mi to moc elegantní? Duplicita kódu?