this._id在流星中未定义

时间:2015-02-01 03:01:55

标签: javascript meteor iron-router

我尝试在路由到页面时设置selectedDocId,但Meteor正在投掷undefined。我正在使用onBeforeAction尝试通过id存储在我的网址末尾连接的/:id,但我无法将它们对齐。

 Router.route('speaker', {
            path:'/speakers/:_id',
            template: 'speaker',
            data: function(){
                return Speakers.findOne(this.params._id);
            },

            onBeforeAction: function(){
                console.log('speaker route has run');
                Session.set('selectedDocId', this._id);
                //returns undefined
                console.log(this._id);
                this.next();
            }
        });

        Template.speaker.helpers({

            editingDoc: function(){
                return Speakers.findOne({_id: Session.get('selectedDocId')});
            }

        });

1 个答案:

答案 0 :(得分:1)

而不是this._id使用this.params._id,就像在data挂钩中一样。