首先,我是新用户,所以如果这不是提出这个问题的地方,或者问题泄露了详细信息,请通知我,我会进行必要的调整。
我是 Ember.JS 的新手,最近通过阅读 getting started guide 开始学习.
在本指南的早期阶段,我已经在处理下一个问题:
所有阶段都运行良好,直到我需要更新我的 index.html 以包装 <body>
的内部内容的阶段在这个 Handlebars 脚本标签中:
<script type="text/x-handlebars" data-template-name="todos">.....</script>
如本指南第 5 步所述。
在我这样做后我的窗口最终什么都不显示 (除了背景图片)
这是我的文件的样子(分层):
https://dl.dropboxusercontent.com/u/24149874/image.png
这些是指南中前面步骤中相关文件的内容:
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ember.js • TodoMVC</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<script type="text/x-handlebars" data-template-name="todos">
<section id="todoapp">
<header id="header">
<h1>todos</h1>
<input type="text" id="new-todo" placeholder="What needs to be done?" />
</header>
<section id="main">
<ul id="todo-list">
<li class="completed">
<input type="checkbox" class="toggle">
<label>Learn Ember.js</label><button class="destroy"></button>
</li>
<li>
<input type="checkbox" class="toggle">
<label>...</label><button class="destroy"></button>
</li>
<li>
<input type="checkbox" class="toggle">
<label>Profit!</label><button class="destroy"></button>
</li>
</ul>
<input type="checkbox" id="toggle-all">
</section>
<footer id="footer">
<span id="todo-count">
<strong>2</strong> todos left
</span>
<ul id="filters">
<li>
<a href="all" class="selected">All</a>
</li>
<li>
<a href="active">Active</a>
</li>
<li>
<a href="completed">Completed</a>
</li>
</ul>
<button id="clear-completed">
Clear completed (1)
</button>
</footer>
</section>
<footer id="info">
<p>Double-click to edit a todo</p>
</footer>
</script>
<script src="libs/jquery-1.10.js"></script>
<script src="libs/handlebars.js"></script>
<script src="libs/ember.js"></script>
<script src="libs/ember-data-0.13.js"></script>
<script src="application.js"></script>
<script src="router.js"></script>
</body>
</html>
应用程序.js
window.Todos = Ember.Application.create();
路由器.js
Todos.Router.map(function () {
this.resource('todos', { path: '/' });
});
当然,我试图在其他相关帖子中找到答案,但我发现没有任何帮助。
感谢你的帮助!
最佳答案
我想这里唯一缺少的是application
模板本身。
尝试定义一个这样的:
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="todos">
...
</script>
{{outlet}}
这很重要,因为您需要告诉 ember 在哪里注入(inject)您的 todos
模板。见 here对于一个工作示例,不包含 css 文件,因此一切都搞砸了是正常的,但基本设置正在工作。
希望能帮助到你。
关于ember.js - 使用 Handlebars 最终什么也不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572712/