Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.10.2013, 12:06
Новичок на форуме
Отправить личное сообщение для Chifu Посмотреть профиль Найти все сообщения от Chifu
 
Регистрация: 11.04.2013
Сообщений: 4

Как Emberjs рендерит шаблон по переменной {{outlet}} без перезагрузки родителя
Попытаюсь задать вопрос как я его понимаю, если не совсем понятно, исправьте меня.

Меня интересует, как Ember.js, используя Handlebars рендерит и меняет один шаблон на другой по переменной {{outlet}} исходя приблизительно из такого HTML кода:
<div id="menu">
<a href="templates/template_1">Шаблон один</a>
<a href="templates/template_2">Шаблон два</a>
</div>

{{outlet}}

<script type="text/html" id="template_1">
<h2>Заголовок первого шаблона</h2>
<p>Содержание первого шаблона</p>
</script>

<script type="text/html" id="template_2">
<h2>Заголовок второго шаблона</h2>
<p>Содержание второго шаблона</p>
</script>


Как он делает так, чтобы в переменную Handlebars {{outlet}} записывался один шаблон, а потом туда же с полной заменой записывался второй шаблон, или перезаписывался первый без re-рендеринга шаблона родителя (там где меню и всё остальное).

Может он создаём функцию из шаблона, или ещё как-то, прошу знающих людей объяснить механизм немного, или хотя бы сказать в какую сторону копать. Большое спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2013, 13:36
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

может так: http://jsfiddle.net/Zr6ju/ ?
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2013, 13:48
Новичок на форуме
Отправить личное сообщение для Chifu Посмотреть профиль Найти все сообщения от Chifu
 
Регистрация: 11.04.2013
Сообщений: 4

Была такая мысль, но не сходиться с процессов рендеринга шаблона через Handlebars.

Я могу предположить что при рендере основного шаблона, подшаблон рендерится отдельно и записывается как данные для переменой основного шаблона ({{outlet}}), и когда данные для основного шаблона меняются, к примеру {'outlet': conmpiled_teplate}, то меняется и HTML в основном шаблоне. Вопрос в том, как, и если не так как я думаю, то всё равно - каким образом эта магия происходит.

Ох, круто было бы чтобы кто-то дал ссылку на рабочий код подобного эффекта или сделал что-то похожее но уже с Handlebars.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить комментарии без перезагрузки страницы dimaan777 Events/DOM/Window 5 21.11.2010 02:11
Как можно сделать подгрузку и смену изображения без перезагрузки страницы с другого Евгений Болгов jQuery 11 21.10.2010 18:18
Подскажите как в VLC плеере переключать канал без перезагрузки страницы? mff Events/DOM/Window 0 10.05.2010 17:28
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 01:33
Как сделать смену картинки, типа "до" и "после", без перезагрузки страницы? btstudio Events/DOM/Window 2 23.02.2009 20:43