Рендеринг шаблона пыли на n-й дочерний узел

Я получаю объект json с сервера, на котором есть данные древовидного меню с вложенными элементами и количеством слоев n. Мне нужно это, чтобы иметь возможность детализировать как можно больше дочерних элементов.

Есть ли способ рекурсивного цикла по дочерним элементам объекта с использованием шаблонов Dust.js?

Примером этого может быть:

{#assignment}
     {#childAssignment}
         {#nChildAssignment}
             //etc, etc, etc into the dark pits of mordor
         {/nChildAssignment}
     {/childAssignemnt}
{/assignment}

1 ответ

Решение

Я бы рекомендовал использовать частичное и рекурсивно вызывать частичное. Итак, если у вас есть JSON, который выглядит так:

{
  "assignment": {
    "value": "foo",
    "assignment": {
      "value": "bar",
      "assignment": {
         ...
         "assignment": {
           "value": "last one"
         }
      }
    }
  } 
}

Тогда ваш шаблон recusive_assignment.dust может выглядеть так:

{#assignment}
  {value}
  {?.assignment}
    {>recursive_assignment.dust}
  {/.assignment}
{/assignment}
Другие вопросы по тегам