使用夹具适配器不显示任何内容

时间:2014-05-22 02:20:32

标签: javascript ember.js

我是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>

任何帮助都会非常感谢。

2 个答案:

答案 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>

http://emberjs.jsbin.com/OxIDiVU/501/edit

答案 1 :(得分:0)

除了主销,您的应用程序模板应如下所示:

<script type="text/x-handlebars">

<div>
 {{outlet}}
</div>

</script>

Ember将自动使用模板而不使用&#34; data-template-name&#34;作为应用程序模板。当您在帖子路线上时,{{outlet}}将呈现您的帖子模板。