App.Exam = DS.Model.extend({
examType: attr('string'),
examDate: attr('date'),
gradeText: attr('string'),
courseName: attr('string'),
courseName__startswith: attr('string'),
typeName: attr('string'),
numberOf: attr('number'),
grade: attr('number'), });
这是我想从控制器访问的模型。我使用此
过滤模型App.ExamController = Ember.Controller.extend({
// the initial value of the `search` property
search: ''
,query: function() {
// the current value of the text field
var queryCourseName = this.get('searchCourseName');
this.set('searchResult',App.Exam.find({courseName: queryCourseName})
}
});
这是存储App.Exam.find()
结果的正确方法吗?如果是如何从另一个控制器访问searchResult
属性并迭代这些值?
答案 0 :(得分:0)
具体取决于您要执行的操作,但如果您在searchResult
上设置了属性ExamController
:
...
this.set('searchResult', App.Exam.find({courseName: queryCourseName}));
...
然后您可以在另一个控制器中使用needs
指令来访问您的ExamController
:
App.AnotherController = Ember.Controller.extend({
needs: ['exam'],
examBinding: 'controllers.exam',
...
myFunction: function() {
this.get('exam.searchResult') // here are your values
}
});
值得注意的是,Binding
中的后缀examBinding
告诉ember设置两个属性之间的绑定,有关详细信息,请查看API文档的Ember.Binding
希望有所帮助