2015-07-23 4 views
0

Данные по возврату железного маршрутизатора находятся в шаблоне, но я не могу его использовать.MeteorJs: данные по возврату Железо: маршрутизатор

Например, у меня есть БД с заданиями, где каждая работа имеет position (например jobs.position):

ExistJobPostController = RouteController.extend({ 
    layoutTemplate: 'existJob', 
    data:function() {return Posts.findOne(this.params._id); } 
}) 
Router.map(function() { 
    this.route('existJob', {  
    path: '/jobs/:_id', 
    controller: ExistJobPostController, 
    }); 
}); 
<template name="existJob">  
    {{position}} 
</template> 

И ничего не происходит, я думаю, что это моя вина, но я действительно не могу понять, как почини это.

Может ли кто-нибудь помочь?

ответ

0

Прежде всего, вы должны убедиться, что правильные данные даже установлены в контексте данных шаблона. Ниже приведено краткое общее описание того, как установить контекст данных и как получить доступ к нему из разных мест:

Router.map(function() { 
    this.route('index', {  
    path: '/index', 
    data: function(){ 
     var obj = { 
     fname: "Tom", 
     lname: "Smith" 
     }; 
     return obj; 
    } 
    }); 
}); 

Template.index.onRendered(function(){ 
    console.log(this.data.fname); 
}); 

Template.index.events({ 
    'click body': function(e, tmpl){ 
    console.log(tmpl.data.fname); 
    } 
}); 

Template.index.helpers({ 
    lastName: function(){ 
    return this.lname; 
    } 
}); 

<template name="index"> 

    You have to use `this` when directly accessing template data from spacebars. 
    {{this.firstName}} 

    The following comes from Template.index.helpers: 
    {{lastName}} 

</template> 
Смежные вопросы