从控制器获取搜索结果

时间:2013-05-09 16:25:48

标签: ember.js

 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属性并迭代这些值?

1 个答案:

答案 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

希望有所帮助