0

各位,

我的一个模型有一个奇怪的问题:以下代码负责获取页面模型和所有新项目。

Bouwbedrijf.ProjectsOldRoute = Ember.Route.extend({
  model: function() {
    return App.Page.find(3);
  },
  setupController: function(controller, model)
  {
    controller.set('content', model);
    controller.set('projecten', App.OldProjects.find());
  },
  renderTemplate: function (){
    this.render();
    this.render('pagetitle', {into: 'projects', outlet: 'page-title'});
    this.render('oldprojectshowcase', {
    into: 'projects/old',
    outlet: 'projecten'
  });
 }
});

但是,如果我在模板中遍历 controller.projecten,则没有正确的输出。我确实看到渲染了 3 个 li 元素,但我似乎无法显示项目的名称......

这是模板代码

<script type="text/x-handlebars" data-template-name="oldprojectshowcase">
  <h3>Projects showcase</h3>
  <ul>
    {{#each project in projecten}}
     <li>{{project.name}}</li>
    {{/each}}
  </ul>
</script>

为了让你们更清楚,我准备了一个 jsbin -> http://jsbin.com/Uqop/2/ 在这个例子中,有一个旧项目页面显示在一个展示中(有点;))

4

1 回答 1

0

问题与 setupController 之间没有关系。

问题是您正在尝试访问您尚未在模型中定义的属性。
该属性name未在App.OldProjects模型中定义。
定义它可以解决问题。

App.OldProjects = DS.Model.extend({  
      title: DS.attr('string'),  
      project: DS.attr('string'),  
      name: DS.attr('string'),  
      img: DS.attr('string')  
  });

更正您的JSBin

于 2013-08-22T10:09:31.420 回答