我有一个页面,我想让用户输入多个记录。例如,假设我有一个页面,用户可以输入他想要的学生记录,其中每个学生记录包含姓名,年龄等字段。
目前,我在页面上有一个按钮,用于调用控制器上的方法。
// controller/studentlist.js
actions: {
createStudentRecord() {
let student = this.get('store').createRecord('student', {});
let model = this.get('model') || Ember.A();
model.pushObject(student);
this.set('model', model);
}
}
我最初是这样获取模型的:
// routes/studentlist.js
model(params) {
return this.get('store').query('student', { orderBy: 'class_id', equalTo: params.class_id });
}
然后,我在我的模板中迭代model
,这样当模型更新时,列表也会更新。
// templates/studentlist.hbs
{{#each model}}
// Show list of students
{{else}}
<p>No students.</p>
{{/each}}
然而,当我这样做时,我得到internalModel.getRecord is not a function
。
谷歌搜索引导到github。 https://github.com/emberjs/data/issues/3530,这似乎与我的问题完全相同。但是,我并没有完全了解我应该做的事情来使这个场景有效。有人可以指导我正确实施吗?
我尝试过this.set('model', model.toArray())
,但这没有用。
答案 0 :(得分:0)
i = i + 1;