1
因此,我有一個ember-cli 1.13.8應用程序,我想查看沒有答案的問題。目前,我可以根據屬性過濾搜索。例如,我可以搜索問題的「內容」,因爲這是對象的屬性。通過屬性屬性過濾Emberjs數據
型號:
答案:
export default DS.Model.extend({
...
content: DS.attr(),
question: DS.belongsTo('question', { async: true })
});
問題:
export default DS.Model.extend({
...
answers: DS.hasMany('answer', { async: true }),
});
例如,這個工程來查詢當前模型(問題)的屬性:
model(query) {
return this.store.findAll('question').then(function(questions) {
return questions.filterBy("content", query);
});
}
但我不能基於模型屬性的屬性(在這種情況下爲長度)進行過濾。我想根據那些沒有答案的問題進行過濾。
model() {
return this.store.findAll('question').then(function(questions) {
return questions.filter(function(item, index, enumberable) {
return item.answers.length === 0;
})
});
}
的另一種嘗試:
model() {
this.store.findAll('question').filter('question', function(q) {
return q.get('answers.length') === 0;
})
}
我諮詢: Emberjs filter() versus filterProperty()
似乎filterProperty()已被棄用,因此例子如: http://www.kaspertidemann.com/how-to-filter-an-array-of-records-by-a-property-value-in-ember-js/也沒有什麼幫助。
OK,我曾嘗試實施這一解決方案,但在模型它得到的錯誤,questions.get('答案')是未定義的'return questions.get('answers')。then((answers)=> {'。完全錯誤:'處理路由時出錯:unanwsered-questions Can not讀取未定義的屬性'then'TypeError:無法讀取未定義的屬性'then' – user3162553
啊,是的,忘記了問題是一個數組,更新了答案。讓我知道,如果這是否有用 –
好吧,模型似乎現在通過,但在控制器它拋出相同的錯誤,但對於'return question.get('answers.length')=== 0;'。我猜這是因爲它也是一個數組? – user3162553