Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 面包屑路径:检索路径下所有内容的数据_Javascript_Node.js_Meteor - Fatal编程技术网

Javascript 面包屑路径:检索路径下所有内容的数据

Javascript 面包屑路径:检索路径下所有内容的数据,javascript,node.js,meteor,Javascript,Node.js,Meteor,在我的应用程序中,有几个路径如下所示,都在面包屑路径下 /class/:slug /class/:slug/student/:_id /class/:slug/teacher/:_id 然而,这往往会导致冗余,因为我必须在查询之前不断地逐段查找类 this.route('Class.teacher', { path: '/class/:slug/teacher/:_id', waitOn: function() { return Meteor.subscribe('teache

在我的应用程序中,有几个路径如下所示,都在面包屑路径下

/class/:slug
/class/:slug/student/:_id
/class/:slug/teacher/:_id
然而,这往往会导致冗余,因为我必须在查询之前不断地逐段查找类

this.route('Class.teacher', {
  path: '/class/:slug/teacher/:_id',
  waitOn: function() {
    return Meteor.subscribe('teachers');
  },
  data: function() {
    var classId = Classes.findOne({ slug: this.params.slug })._id;
    if(!classId) {
      throw new Meteor.Error(404, 'That class does not exist');
    }

    return Teacher.findOne(
      { _id: this.params._id, classIds: classId }
    );
  }
})
问题在于,这似乎会导致大量冗余,因为我的大部分路线都是从查找类开始的

有没有办法在
/class/:slug
路径上执行某种操作?我是这样想的:

Router.route('/class/:slug/*', {
  waitOn: function() {
    return Meteor.subscribe('classes', this.params.slug);
  },
  onBeforeAction: function() {
    var class = Classes.findOne(this.params.slug);
    if(!class) {
      throw new Meteor.Error(404, "Class not found");
      this.stop();
    }
    this.next();
  }
});
然而,这不起作用。以这种方式处理面包屑路径的正确方法是什么?

您可以使用

Router.onBeforeAction(function(req, res, next){
    // find class here
    // req.params.slug Not sure about this
    next()
}, { only: ['class'] });
不过只是个主意