无法将车把数据导入模板
Posted
技术标签:
【中文标题】无法将车把数据导入模板【英文标题】:Unable to get the handlebar data into template 【发布时间】:2013-08-25 02:12:47 【问题描述】:我正在通过official documentation 学习 ember.js,并拥有以下包含 mustache 模板的 html 页面:
<section id="main">
<ul id="todo-list">
#each controller
<li bindAttr class="isCompleted:completed">
<input type="checkbox" class="toggle">
<label>title</label><button class="destroy"></button>
</li>
/each
</ul>
<input type="checkbox" id="toggle-all">
</section>
但是,问题在于浏览器将数据显示为:
#each controller
title
/each
不渲染提供给模板的种子数据。 我在正文标记结束之前有以下 javascript 声明:
<script src="js/libs/jquery.js"></script>
<script src="js/libs/handlebars.js"></script>
<script src="js/libs/ember.js"></script>
<script src="js/libs/ember-data.js"></script>
<script src="js/libs/application.js"></script>
<script src="js/libs/router.js"></script>
<script src="js/models/store.js"></script>
<script src="js/models/todo.js"></script>
页面加载没有任何由 firebug 报告的错误。请让我知道我缺少什么。
【问题讨论】:
【参考方案1】:我猜你错过了一些基本的东西 - 你的“模板”周围的把手脚本标签,data-template-name
应该根据你所在的路线命名,我在这里使用application
只是为了例子。在您提到的官方指南中,如果您在嵌入式 jsbin 中启用 html 面板,您会明白我的意思,在 body
标签下方是名为 todos
的包装脚本标签。
<script type="text/x-handlebars" data-template-name="application">
<section id="main">
<ul id="todo-list">
#each controller
<li bindAttr class="isCompleted:completed">
<input type="checkbox" class="toggle">
<label>title</label><button class="destroy"></button>
</li>
/each
</ul>
<input type="checkbox" id="toggle-all">
</section>
</script>
希望对你有帮助。
【讨论】:
非常感谢,我一直在关注入门用户指南,但没有提到封闭脚本标签。以上是关于无法将车把数据导入模板的主要内容,如果未能解决你的问题,请参考以下文章
从木偶视图重新加载部分车把将无法访问为父视图中的部分模板元素定义的 ui 对象