2013-05-09 178 views
0
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

取決於你想做的事,但如果你設置該屬性searchResultExamController這樣做:那麼

... 
this.set('searchResult', App.Exam.find({courseName: queryCourseName})); 
... 

你是以後能夠在另一個控制器(S)使用needs指令獲得對您的ExamController訪問:

App.AnotherController = Ember.Controller.extend({ 
    needs: ['exam'], 
    examBinding: 'controllers.exam', 
    ... 
    myFunction: function() { 
    this.get('exam.searchResult') // here are your values 
    } 
}); 

這裏值得注意的是,後綴BindingexamBinding告訴燼設置兩個屬性之間的結合,爲鐵道部Ë信息檢查出的API文檔的Ember.Binding

希望它有助於

+0

當我嘗試您的解決方案我的需求得到一個錯誤:['考試「], examBinding:‘controllers.exam’,」它說ANNOT調用方法'查找'null – alexjson 2013-05-10 07:09:24

+0

嗯,你能設置一個jsfiddle嗎? – intuitivepixel 2013-05-10 07:32:58

+0

它使用examBinding時:'App.ExamController.exam'。但是我仍然對如何認識searchResult中的值感到困惑。假設我想從searchResult記錄nr 1並從記錄中獲得考試日期,那麼我該如何實現這一目標? Thx幫助到目前爲止! – alexjson 2013-05-10 07:52:40