Рендеринг шаблона пыли на 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}