#javascript #handlebars.js
#javascript #handlebars.js
Вопрос:
Существует ли какой-либо способ рендеринга определенной части после загрузки страницы?
У меня есть следующий код:
<div class="row document_display custom_scrollbar">
<div class="col-10">
<div class="row">
{{> document_whiteBox column="6" public_source="true" title="Título do Documento" author="João Dezembro" data="10 de maio de 2018" content="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad runt mollit anim id est laborum."}}
</div>
</div>
</div>
Существует частичный document_whiteBox, который получает некоторые изменения. Этот документ загружается динамически, то есть, чем больше я прокручиваю, тем больше документов он загружает (например, facebook feed)
Я хотел бы получить информацию о сервере через API и отобразить этот document_whiteBox во время прокрутки.
Это возможно?
Ответ №1:
Боюсь, это невозможно. На этом обработка вашего шаблона завершена.
Что вы можете сделать, так это поставить четную прокрутку, которая отобразит следующее событие, повторно выполнив код для правильных данных.
В противном случае другим решением (но более дорогостоящим) является возврат всех данных клиенту и скрытие частей до тех пор, пока пользователь не выполнит прокрутку.
Комментарии:
1. Я смог решить это следующим образом: я визуализирую шаблон без какого-либо содержимого с помощью display: none когда я извлекаю содержимое, я использую JQUERY для создания элемента на основе этого скрытого шаблона
Ответ №2:
Я смог решить это следующим образом:
Я рендерю шаблон без какого-либо содержимого с помощью display: none когда я извлекаю содержимое, я использую JQUERY для создания элемента на основе этого скрытого шаблона
Скрытый div с шаблонами
<div id="templates" style="display:none">
{{> document_whiteBox column="3" public_source="false" title="" author="" data="" content=""}}
{{> block_container_list}}
</div>
Код для генерации элемента на основе шаблона:
this.$template_document = $("#templates").find(".doc_whitebox").prop('outerHTML')
this.$template_block = $("#templates").find(".block_container_list").prop('outerHTML')
let el = $.parseHTML(this.$template_document)
$(el).find(".title_whiteBox_archive").find("span").text(doc_version.title)
(...)