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.:

Odpal Ember.js: partial vs Fire Up Ember.js

Czy ktoś może wyjaśnić różnice między partial, template, render oraz kiedy (przykłady) użyć jakich?

Author: Marius Butuc, 2013-02-04

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.

 37
Author: Andre Malan,
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:

Tutaj wpisz opis obrazka

 34
Author: user2431285,
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

 1
Author: Raja Nagendra Kumar,
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