【问题标题】:Ember.js - setupController model no outputEmber.js - setupController 模型没有输出
【发布时间】:2013-08-22 08:20:16
【问题描述】:

各位,

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

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/ 在此示例中,有一个旧项目页面显示在展示柜中(有点;))

【问题讨论】:

    标签: templates properties model ember.js controller


    【解决方案1】:

    问题与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-14
      • 2020-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 2019-12-23
      • 2021-02-07
      • 2013-03-18
      相关资源
      最近更新 更多