Meteor:传递路由器参数以获取没有结果的Collection数据

时间:2015-05-13 12:45:00

标签: mongodb meteor iron-router mongo-collection

我对meteor很新,在尝试使用Iron Router将url参数传递给Collection并检索一些数据进行显示时遇到了问题。

具体来说,我有一个带有事件的集合,我希望有一个页面更详细地显示单个页面。

PS:我已成功使用Iron Router和Meteor的发布/订阅逻辑执行其他任务,例如显示所有事件,创建事件并将其保存到个人列表中

event.html

<template name="event">
  <div class="page-header">
    <h1>{{title}}</h1>
  </div>
  <div class="container">
    <p>{{content}}</p>
  </div>
</template>

router.js

this.route('event',{
    path: '/event/:_id',
    waitOn: function () {
        return Meteor.subscribe('Events');
    },
    data: function () {
        return Events.findOne(this.params._id);
    }
});

发布在publish.js中的服务器上发生,并在路由器中订阅 publish.js

Meteor.publish('Events', function () {
    return Events.find();
});

router.js

Router.configure({

    (..)

    waitOn: function() {
        return [
          Meteor.subscribe('Events'),
          Meteor.subscribe('myEvents')
        ];
    }
});

我一直在看Manuel Schoebel的这个教程link

一切都很好,直到收集查找发生的那一刻。当我从集合中记录结果数据时,它是undefined

data: function () {
    var event = Events.findOne(this.params._id);
    console.log(event);
    return event;
}

1 个答案:

答案 0 :(得分:0)

错误的是,我把:放在了原本不应该的地方 结束问题。