Рендеринг частичных рулей (HBS) после загрузки страницы

#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)
(...)