-1
我在这里尝试使用把手时做了什么错误?把手不能正确compl声称我不通过字符串
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 2014-10-21 21:33:33
编辑它。 HTML是在jsbin中,但链接很难注意到...... SO和文本之间的链接没有太大对比。 – 2014-10-21 21:58:12