Nette 2.0 nejjednodušší příklad ajaxu (nefunkční?)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
KillPrd
Začátečník | 110
+
0
-

Ahoj, snažil jsem se zprovoznit nejjednodušší příklad nette a ajaxu podle screencastu.
tento příklad mi funguje krásně a snippet se přepíše daty o které žádám…

<?php
	private $r;
	public function renderDefault()	{

		$this->template->r = $this->r;
	}
	public function handleZmena(){
			$this->template->r = array('prajm'=>rand(1,15555));
			if($this->isAjax()){
				$this->invalidateControl('obnov');
			}

	}

?>

Problém nastává ve chvíly kdy si v renderDefaut() chci proměnnou $this->r naplnit.

tedy v níže uvedeném případe se už data nevykreslí:

<?php
	private $r;
	public function renderDefault()
	{
		$this->r = array('prajm'=>'Vlastimil Hak');
		$this->template->r = $this->r;
	}
	public function handleZmena(){

			if($this->isAjax()){
				$this->invalidateControl('obnov');
			}
			$this->template->r = array('prajm'=>rand(1,15555));

	}
?>

opravdu nechápu proč zkoušel jsem x přikladů … :(

22
Člen | 1478
+
0
-

..základem je pochopit životní cyklus presenteru. Handle metoda se provede před renderDefault().

KillPrd
Začátečník | 110
+
0
-

Děkuji.....

<?php

private $r;
	private $p;
	public function renderDefault()
	{
		if($this->p !='ano'){
			$this->r = array('prajm'=>'Petr Pavel');
		}
		$this->template->r = $this->r;
	}
	public function handleZmena(){
			$this->p = 'ano';
			if($this->isAjax()){
				$this->invalidateControl('obnov');
			}
			$this->r = array('prajm'=>rand(1,15555));

	}
?>