如何在模板中遍历数据模型中的每条记录?

时间:2013-11-29 21:04:25

标签: javascript ember.js

我有一个使用Ember灯具的模型设置。我的模型如下:

App.Question = DS.Model.extend({
  isCompleted: DS.attr('boolean'),
  question_top: DS.attr('string'),
  question_bottom: DS.attr('string'),
  etc......
});

我的灯具(实际数据)如下所示:

App.Question.FIXTURES = [
   {
      id: 1
   },
   {
      id: 2
   }
];

我想在我的模板中创建一个无序列表,显示我的灯具中每条记录的“li”项。我想我需要使用{{#each question}}语法,但当我执行{{#each question}}时,它不起作用。

如何遍历我的灯具数据以创建无序列表,我的灯具数据中的每条记录都有一个列表项?

2 个答案:

答案 0 :(得分:1)

您的question属性可能不存在于您的控制器中。如果你这样做:

App.QuestionRoute = Ember.Route.extend({
  model: function() {
      return this.store.find('question');
  }
});

您可以使用:

  <h2>Questions:</h2>
  <ul>
  {{#each model}}
      <li>{{question_top}}</li>
  {{/each}}
   </ul>

看看那个小提琴http://jsfiddle.net/marciojunior/25GHN/

答案 1 :(得分:0)

您需要将其返回到路线的模型钩子:

http://emberjs.jsbin.com/UGEmEXEy/1/edit

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('question');
  }
});

App.QuestionAdapter = DS.FixtureAdapter;

App.Question = DS.Model.extend({
  isCompleted: DS.attr('boolean'),
  question_top: DS.attr('string'),
  question_bottom: DS.attr('string')
});

App.Question.FIXTURES = [
   {
      id: 1,
     isCompleted: true
   },
   {
      id: 2,
     isCompleted: false
   }
];