我正在建立一个市场,人们可以在其中发布他们想要出售的元素列表,其他人可以对这些列表做出回应。我已经实现了模式,允许用户查看他们已详细回复的列表(用户可以填写一个表格,发送特定商品的报价,此信息保存在 Mongo 中)。我在从 Mongo 访问数据并将其显示在模式上时遇到一些问题。
就显示每个优惠而言,它工作正常,我的代码是:
<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 block ,我可以正确打印出所有信息,但如何在单击时将其细化为特定的正确报价。
这是一张照片
同样,正如您所看到的,每个优惠都已显示,但是当单击“查看优惠”按钮时,模式为空。
最佳答案
单击按钮时,将详细信息保存在 session 变量中
注意:我认为“查看优惠”按钮位于 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'):
}
})
关于javascript - Meteor 从模态访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33751379/