首先使用計算性能,我目前的版本:在頁面加載
Ember : 2.8.1
Ember Data : 2.8.1
jQuery : 3.1.1
我使用的查詢參數中的控制器。如果用戶轉到assignments?strm=1292
,將調用strm
,計算得出term,
和計算filteredClusters
。但是,在初始頁面加載時,filteredClusters
將爲空(例如,我使用瀏覽器導航到/assignments?strm=1292
)。只有在調用selectStrm
動作來更新strm
查詢參數後,filteredClusters
纔會開始返回結果。
我assignments
指數控制列表如下:
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['strm', 'cluster', 'title'],
strm: null,
cluster: null,
title: null,
term: Ember.computed('strm', function() {
var strm = this.get('strm');
var terms = this.get('model.terms');
return strm ? terms.filterBy('strm', strm)[0] : null;
}),
filteredClusters: Ember.computed('term', 'model', function() {
var term = this.get('term');
var clusters = this.get('model.clusters');
if(term) {
return clusters.filter((cluster, index, clusters) => {
var terms = cluster.get('terms');
return terms.mapBy('strm').includes(term.get('strm'));
});
} else {
return clusters;
}
}),
actions: {
selectStrm: function(strms) {
var strm = strms[0];
this.set('strm', strm);
}
}
});
我能做些什麼讓filteredClusters
加載在初始頁面加載?
感謝您的任何和所有信息。
嘗試在routes/assignments.js中定義'queryParams:{strm:{refreshModel:true},cluster:{refreshModel:true},title:{refreshModel:true}}' – kumkanillam