Ember.js - setupController模型没有输出

时间:2013-08-22 08:20:17

标签: templates properties model ember.js controller

Ey伙计们,

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

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 - &gt; http://jsbin.com/Uqop/2/ 在这个例子中有一个页面Old projects,它显示在一个展示柜中(排序;))

1 个答案:

答案 0 :(得分: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的更正。