Как включить переменную внутри <% include> в файл шаблона e js? - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть список файлов в папке, которые мне нужно использовать в родительском шаблоне как дочерний шаблон. Я хотел бы сделать что-то вроде этого:

  <% var noScriptBody = 'message-scriptless.ejs' %>
  <% include noScriptBody %>

или <%include <%= noScriptBody %>/message-scriptless' %>, где <%= noScriptBody %> - это указанный c дочерний шаблон для включения.

Например, я хочу включить <% include carousel/message-scriptless %> и <% include modal/message-scriptless %>, где путь является переменным ['carousel', 'modal', etc]

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Вы можете включить шаблон Dynami c, например,

, например. передан ваш массив pathArray = ['carousel', 'modal', etc]

<% for (const path in pathArray) { %>
   <%- include(path +'/message-scriptless.ejs') %>
<% } %>

Здесь мы перебираем pathArray и включаем message-scriptless.ejs из каждой папки, как показано в коде выше

Пожалуйста, исправьте меня, если я неправильно понял ваши требования

0 голосов
/ 04 февраля 2020

Например, , вы можете посмотреть этот код ниже: index.ejs

<!-- Only show text -->
<% var noScriptBody = 'message-scriptless' %>
<%= noScriptBody %>

<!-- Show template -->
<% var noScript = 'message-scriptless' %>
<%-  include(noScript) -%>

<!-- Show template `message-scriptless` from `carousel` directory -->
<% var carouselMessageSciptLess= 'carousel/message-scriptless' %>
<%-  include(carouselMessageSciptLess) -%>

Убедитесь, что в том же каталоге, вы у вас есть файл message-scriptless.ejs.

Обновлено: Для отображения вашей переменной вы можете использовать следующий код:

<% arrayPath.forEach(function(path){ 
  include(path + '/message-scriptless');
}) %>;

Из приведенного выше кода, это пример структуры каталогов:

  • sr c> app. js
  • views> index.e js
  • views> message- scriptless.e js
  • views> carousel> message-scriptless.e js
  • package. json

Для получения дополнительной информации Об этом ejs, вы можете прочитать эту документацию .

Например, , вы можете посмотреть на мой codeSandbox: https://codesandbox.io/s/example-ejs-app-mhgrh

Надеюсь, это поможет вам.

...