Rękojeść częściowa vs. render vs. szablon
The Fire Up Ember.js screencast używa partial
, template
, render
do renderowania szablonów w szablonach, ale nadal Nie wiem, który z nich użyć, kiedy.
W tym samym screencaście partial
jest wyjaśnione jako użycie kontekstu i wszystkich danych względem bieżącego kontrolera, podczas gdy render
używa odpowiedniego szablonu kontrolera, kontekstu itp.:
Czy ktoś może wyjaśnić różnice między partial
, template
, render
oraz kiedy (przykłady) użyć jakich?
3 answers
Sposób w jaki to Rozumiem, sposób w jaki się rozpadają jest taki:
"render" daje Ci cały własny kontekst widoku/kontrolera/szablonu do pracy.
Przykładem może być górna nawigacja, która zawiera elementy dynamiczne. Zawartość zostanie zachowana w kontrolerze TopNavController i wstawiona do szablonu aplikacji za pomocą "render"
"częściowy" wstawia szablon, ale ten szablon będzie używał bieżącego kontekstu zamiast własnego. Częściowy jest również nowsza część frameworka, mająca w pewnym stopniu zastąpić użycie szablonu.
Przykładem może być pokazanie listy użytkowników i mając każdego użytkownika jest stosunkowo skomplikowany kawałek na liście (avatar, Imię, e-mail, itp) można po prostu pętli przez Listę i wstawić częściowe oparte w kontekście każdego użytkownika.
"template" po prostu wstawia szablon używając bieżącego kontekstu. Uważam, że używanie szablonu do renderowania elementów wewnątrz szablonu nie jest dobrym stylem, powinieneś raczej używaj "częściowego", chociaż szablon będzie działał w ten sam sposób w większości przypadków.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 01:09:49
Ten Wykres podany na stronie Embera daje dobre porównanie render, partial i view.
Oto fragment obrazu porównania podanego na stronie:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-28 20:54:59
Jeśli chodzi o użycie pamięci po stronie klienta, która z nich jest lepsza, renderowana lub częściowa. Zakładając, że częściowe byłoby lepsze jako kilka mniejszych obiektów
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-04 06:46:35