사용자가 여러 레코드를 입력 할 수있는 페이지가 있습니다. 예를 들어 사용자가 원하는 학생 기록을 최대한 많이 입력 할 수있는 페이지가 있다고 가정하면 각 학생 기록에 이름, 나이 등의 필드가 포함됩니다.Ember : 배열에 레코드를 동적으로 추가하십시오.
현재 페이지에 메서드를 사용합니다.
// 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())
을 시도했지만 도움이되지 않았습니다.
음, 템플릿에서'{{# 각 모델을 학생 |}}'시도 했습니까? – acorncom