For-loop возвращаемое значение массива
Я пытаюсь вставить URL для меню через шаблон усов. Но только первое значение возвращается для массива.
Или это неправильный метод возврата
var main_menu_link = ["main_dashboard.html", "#", "online_dashboard.html","index.html","#","#","#"];
var url = "";
var i;
var url_link="";
for(i = 0; i < main_menu_link.length; i++) {
url += main_menu_link[i];
return '<a href="'+ url +'">' + text + '</a>';
}
2 ответа
Решение
Оператор возврата должен быть после цикла:
var main_menu_link = ["main_dashboard.html", "#", "online_dashboard.html","index.html","#","#","#"];
var url = "";
var i;
var url_link="";
for(i = 0; i < main_menu_link.length; i++) {
url += '<a href="'+ main_menu_link[i] +'">' + text + '</a>';
}
return url;
Исправьте шаблон, как показано ниже, в случае, если он может быть полезен кому-то еще
var link_details = { "link_details" :[
{ main_menu: "Dashboard", main_menu_link: "dashboard.html" },
{ main_menu: "Analytics", main_menu_link: "#" },
{ main_menu: "System", main_menu_link: "system.html" }
]};
var template = "<ul>{{#link_details}}<li><a href =\" {{main_menu_link}}\">{{main_menu}}</a></li>{{/link_details}}</ul>";
var html = Mustache.to_html(template, link_details);
document.write(html)