2016-02-01 3 views
7

私はタスクのリストを持っており、タスクの1つをクリックすると対応するコメントのリストをロードしたい。 アイアンルータコード:メテオアクセスデータコンテキストonCreated

Router.route('/taskComments/:_id', function() { 
     var item = Tasks.findOne(this.params._id); 
     this.render('commentList', {data: item}); 
    }, 
    { 
     name: 'taskComments', 
     fastRender: true 
    } 
); 

テンプレートヘルパー:私は上記のスニペットでタスクID(this._id)にアクセスすることができていますが、onCreatedのために動作していないよう

Template.commentList.helpers({ 
    comments: function(){ 
     return Comments.find({taskID: this._id}); 
    }); 

Template.commentList.onCreated(function(){ 
    this.subscribe("comments",this._id); 
}); 

私はそれは私に次のオブジェクト与え、これをログコンソール:

enter image description here

_idがなく、dataもnullであることに注意してください。

答えて

7

Template.currentData()をこのコールバックの内側に使用すると、テンプレートインスタンスの反応的なデータコンテキストにアクセスできます。計算がテンプレートが破棄されると自動的に停止します。

Template.commentList.onCreated(function(){ 
    var self = this; 
    var dataContext = Template.currentData() 
    self.subscribe("comments",dataContext._id); 
}); 
関連する問題