1 回答
TA贡献1796条经验 获得超4个赞
这似乎是计算属性的完美用例。我不太明白问题的一些细节(例如,研讨会的排序依据是什么?)但下面的一般方法应该可行。为清楚起见,它使用了多个计算属性,但如果需要,可以将它们组合起来。
computed: {
seminarsWithDistance() {
return this.seminars.forEach(seminar => {
seminar.events.forEach(event => {
event.distance = calcDist(/*...*/);
});
});
},
seminarsWithSortedEvents() {
return this.seminarsWithDistance.forEach(seminar => {
seminar.events.sort((a, b) => a.distance - b.distance);
});
},
sortedSeminars() {
return this.seminarsWithSortedEvents.sort((a, b) => {
/* some compare function for two seminars a and b */
});
}
}
那么这只是在模板中使用计算属性的问题
<ol v-for="seminar in sortedSeminars">
添加回答
举报