我正在使用流星,这是我的架构,每个都是一个单独的集合:
课程有很多讲座
讲座有很多问题
问题有很多答案
我想要一页可以显示给定课程的讲座、问题和答案。我可以毫无问题地显示课程的讲座,但在显示更多嵌套项目时遇到问题。我理想地希望拥有:
讲座有 courseId
答案有 LectureId(但没有 courseId)
问题有answerId(但没有lectureId 或courseId)
这是明智的还是我应该将 courseIds 和 LectureIds 嵌入到所有子组件中?这是我的铁路由器,我试图扩展与带有问题的嵌套讲座相同的想法,但我遇到了如何向订阅提供 LecturesId 的绊脚石:
Router.route('/courses/:_id', {
name: 'CoursePage',
waitOn: function(){
return [
Meteor.subscribe('singleCourse', this.params._id),
Meteor.subscribe('lectures', this.params._id),
Meteor.subscribe('questions', this.params._id)
];
},
data: function() {
return Courses.findOne(this.params._id);
}
});
这是课程页面的订阅,同样也是我不知道如何输入 LectureId 的绊脚石:
Template.CoursePage.helpers({
Lectures: function() {
return Lectures.find({courseId: this._id});
},
Questions: function(lectureId) {
return Questions.find({courseId: this._id, lectureId: lectureId});
}
});
谁能推荐一种对单页进行 4 级嵌套的好方法?我认为我错过了一些明显的东西,但我无法通过谷歌搜索找到一个很好的例子。
Thanks!