2015-11-17 3 views
0

Я строию рынок, где люди могут публиковать объявления о вещах, которые они хотели бы продать, а другие могут отреагировать на эти списки. Я внедрил модальности, чтобы пользователи могли просматривать списки, на которые они ответили подробно (пользователи могут заполнить форму, которая отправляет предложение для определенного элемента, эта информация сохраняется в Mongo). У меня возникли проблемы с доступом к данным из Монго и их отображения на модальном уровне.Meteor Acessing Данные от модальных

Насколько показывает каждое предложение, которое работает должным образом, и мой код, который:

<template name="profileManagerOffers"> 
    <div class="profileCard oneDiv"> 
     <ul class="profileCardUl"> 
      {{#each offer}} 
       {{> ManagerCardOffer}} 
      {{/each}} 
     </ul> 
    </div> 
    {{> ModalSentOffer}} 
</template> 

Я полагаюсь на вспомогательную функцию для этого существа набор, который выглядит следующим образом:

offer: function() { 
     var id = Meteor.userId(); 
     return Offer.find({ 
      creator_id: id 
     }); 
    }, 

Это прекрасно работает, и каждое предложение отображается с некоторой информацией об этом.

Когда пользователь нажимает на одно из этих предложений, предполагается, что модальный должен открыть информацию, соответствующую предложению. У меня возникла проблема с получением этих данных. С блоком #each я могу правильно распечатать ВСЕ информацию, но как я могу уточнить ее для конкретного правильного предложения при нажатии.

Вот фото

photo

Опять же, как вы можете видеть, отображается каждое предложение, но когда кнопка «Просмотр предложения» щелкают модальный пуст.

ответ

1

При нажатии кнопки сохранить детали в переменной сеанса

ПРИМЕЧАНИЕ: Кнопка Я полагаю, 'вид предложения' находится в ManagerCardOffer шаблоне

Template.ManagerCardOffer.events({ 
'click #viewOffer': function(){ 
    Session.set('selectedOffer', this) 
    } 
}) 

затем в модальном

<template name="ModalSentOffer"> 
    {{#with selectedOffer}} 
    // code to dispaly offer 
    {{/with}} 
</template> 

Template.ModalSentOffer.helpers({ 
    selectedOffer: function(){ 
    return Session.get('selectedOffer'): 
    } 
}) 
+0

Да, предложение просмотра находится в шаблоне ManagerCardOffer, который я не включил. Я рассматривал использование сессий сессий, но думал, что это неправильно. Благодарю. Знаете ли вы, нормально ли использовать подобные сеансы в подобных ситуациях? – chackerian

+0

вы можете использовать реактивный var 'http://docs.meteor.com/#/full/reactivevar_pkg', лучше использовать их, попробуйте объявить реактивный var в' profileManagerOffers' и попытаться получить к нему доступ из дочерних шаблонов, I Не уверен, что это работает или нет – Sasikanth

Смежные вопросы