我是ember的新手,我正在尝试使用灯具显示某些帖子的标题,但出于某种原因,没有任何数据显示出来。当我将把手脚本标签添加到我的html文件时,根本没有显示任何内容。
我有一个帖子模型
Blog.Post = DS.Model.extend({
title: DS.attr('string'),
link: DS.attr('string')
});
Blog.Post.FIXTURES = [
{
id: 0,
title: 'first post',
link: 'www.google.com'
},
{
id: 1,
title: 'second post',
link: 'www.reddit.com'
},
{
id: 2,
title: 'third post',
link: 'www.wikipedia.com'
}
];
在我的application.js
中Blog.ApplicationAdapter = DS.FixtureAdapter.extend();
并在我的路由器中
Blog.PostsRoute = Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
和我的index.html文件
<script type="text/x-handlebars" data-template-name="post">
<ul>
{{#each}}
<li>
{{title}}
</li>
{{/each}}
</ul>
</script>
任何帮助都会非常感谢。
答案 0 :(得分:0)
您缺少应用程序模板,它是应用程序的根目录。此外,您的路线名为Posts,复数,但您的模板名为post
,单数。
此外,我在路由器中看不到路由器和posts
资源。在这里,你会看到我把它们全部复数化了。
Blog.Router.map(function() {
this.resource('posts');
});
Blog.PostsRoute = Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
<script type="text/x-handlebars" data-template-name="posts">
<h3>Post</h3>
<ul>
{{#each}}
<li>
{{title}}
</li>
{{/each}}
</ul>
</script>
答案 1 :(得分:0)
除了主销,您的应用程序模板应如下所示:
<script type="text/x-handlebars">
<div>
{{outlet}}
</div>
</script>
Ember将自动使用模板而不使用&#34; data-template-name&#34;作为应用程序模板。当您在帖子路线上时,{{outlet}}将呈现您的帖子模板。