Meteor получава данни от рутера

Имам проблем с получаването на данни от iron:router. Опитвам се да получа данните чрез param._id и след това да ги предам на моя template.created, за да задам променлива на сесията за целите на редактирането.

Ето моя код в рутера:

Router.route('/edit/:_id', function(){
    this.render('edit', {
        data: function(){

                return Collection.findOne({_id: this.params._id})
        }
    })  
})

И тогава искам да получа достъп до тези данни тук:

Template.edit.created = function(){

   data = ???
   Session.set('edit', data)
   $(input).val(data.post)

}

Ако направя console.log( this ), получавам Blaze.TemplateInstance.

Но когато console.log(this) в Template.edit.events, получавам документа, който искам от iron:router.


person Josip Ivković    schedule 25.03.2015    source източник


Отговори (2)


За template.created и template.rendered имате достъп до данните с this.data.

person Chase    schedule 25.03.2015

Използвах Template.currentData(); и успях да получа достъп до данните в template.created, но може ли някой да обясни защо „това“ в template.created и template.events се отнася до 2 различни неща?

person Josip Ivković    schedule 25.03.2015
comment
Моля, не задавайте въпроси в отговорите. Това може да доведе до дълги дискусии в коментарите. Ако трябва да попитате нещо друго, задайте нов въпрос. Не забравяйте да приемете собствения си отговор. - person Kyll; 26.03.2015
comment
Благодаря за приноса, все още изучавам начините на Stack и исках да приема отговора си, но той казва, че не мога да го направя от 2 дни. - person Josip Ivković; 26.03.2015