Mustache.JS рекурсивный цикл

E
На сайте с 07.06.2008
Offline
78
1266

Доброго времени суток.

Как я понимаю, Mustache, это рекурсивный while цикл, но вот как его побороть и получить желаемый результат?

А я бы хотел видеть родительский {{key}} в каждом вложенном, например:

Devices Touch iPhone 6

Devices Touch Nexus 5x

Вот такой шаблон возвращает результат: Devices Touch iPhone 6 Nexus 5x

{{#buckets}}

{{key}}
{{#mobile}}
{{#buckets}}
{{key}}
{{#model}}
{{#buckets}}
{{key}}
{{/buckets}}
{{/model}}
{{/buckets}}
{{/mobile}}
{{/buckets}}

Код на jsfiddle https://jsfiddle.net/k64c0byd/

E
На сайте с 07.06.2008
Offline
78
#1

Предыдущий фидл пуст. Здесь актуальный: https://jsfiddle.net/VladimirSV/w7c50jqz/

V2
На сайте с 21.06.2013
Offline
47
#2

приведите код, который генерирует массив data

E
На сайте с 07.06.2008
Offline
78
#3
vl273:
приведите код, который генерирует массив data

Нет доступа к серверной части, только JSON 😒

V2
На сайте с 21.06.2013
Offline
47
#4

Нууу... Тогда двойная работа получается.

На строне сервера и на строне клиента.


function keyR(data, key = ''){
for (var elem in data){
if(elem == 'key'){
data[elem] = key = key + ' ' + data[elem];
}else{
data[elem] = keyR(data[elem], key);
}
}
return data;
}

data = keyR(data);

Скрипт пробегает по всему массиву и в каждый последующий элемент 'key' препендит предыдущие.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий