Ve výchozím nastavení se každý request odeslaný a zpracovaný knihovnou Naja přidá do historie a při kroku zpět vidíte předchozí hodnoty. To se někdy hodí a někdy ne. Pokud chcete tomuto chování zabránit, stačí vám k prvkům s třídou ajax přidat tento kód:
data-naja-history="replace"
Typickým příkladem, kdy se to nehodí, je změna kusů v košíku, kdy by stránka mohla ukazovat předchozí hodnotu, tj. jinou, než je aktuálně někde uložená v session nebo databázi.
HomepagePresenter.php
<?php
declare(strict_types=1);
namespace App\Presenters;
use Nette;
final class HomepagePresenter extends Nette\Application\UI\Presenter
{
public function renderDefault(){
$this->template->text = Nette\Utils\Random::generate(5);
}
public function handleGeneruj(){
$this->redrawControl('nahoda');
}
}
Homepage/default.latte
{block content}
<h1>Náhodně generovaný řetězec</h1>
{snippet nahoda}
<div>{$text}</div>
{/snippet}
<!-- tento kód odstraní request z historie -->
<a data-naja-history="replace" class="ajax" n:href="generuj!">Vygeneruj jiný řetězec</a>
<script src="https://unpkg.com/naja@2/dist/Naja.min.js"></script>
<script>
naja.initialize();
</script>