Что я сделал неправильно, пытаясь использовать Ручки здесь?Ручки не соответствуют требованиям Претензии Я не передаю строку
HTML
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
</script>
<script src="//code.jquery.com/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div class="_conv_logo_login_container">
</div>
</body>
</html>
<script type="text/x-handlebars-template" id="tools_links_template">
<ul class="dropdown-menu" role="menu">
{{#tools_links}}
<li>
<a id="{{id}}" href="{{href}}">{{human_readable}}</a>
</li>
{{/tools_links}}
</ul>
JS
var data = {
"tools_links": [
{
"id": "assignments",
"human_readable_report": "Assignments",
"href": "site.com/assignments",
"attrs": {
"data-order": 1
},
"submenu": ""
},
{
"id": "reporting",
"human_readable": "Reporting",
"href": "site.com/reporting",
"attrs": {
"data-order": 2
},
"submenu": ""
}
]
};
var source = $("#tools_links_template").html();
var template = Handlebars.compile(source);
$("._conv_logo_login_container").html(template(data));
Я продолжаю получать сообщение об ошибке:
Uncaught Error: You must pass a string or Handlebars AST to Handlebars.compile. You passed undefined
Я пытался {{#with tools_links}}
и просто {{items}}
.
Должен также включать HTML-код в вопрос - вот где шаблон. – Luke
Отредактировано. HTML находится в jsbin, но ссылку трудно заметить. Не так много различий между ссылками на SO и текстом. –