我正在使用Semantic UI作为框架运行Meteor。
我的主页上加载了X细节卡,这些卡都来自同一个数据源。所有细节卡都有按钮,例如垃圾,以便取出卡片。
我正在通过模态确认对按钮的操作。
我将所有模态都放在一个名为模态的单独模板中。
从我的主页面加载我的模态:
{{>modals}}
在我的模态模板中,我得到了:
<template name="modals">
<div id="takeModal" class="ui modal">
{{#with data}}
<div class="ui header">
//HEADER
</div>
<div class="ui content">
// DATA USAGE IN TEMPLATE
{{city}}</td>
</div>
</div>
</template>
以上示例用//
评论,只是真实事物的一小部分。
我遇到的问题是我正在使用所述卡上的按钮来调用模态。按钮事件处理程序看起来像:
Template.availablCard.events({
'click #checkmark': function () {
Session.set('data', this);
$('#takeModal').modal('show');
}
....
并且模态模板有一个帮手:
Template.modals.helpers({
data: function () {
return Session.get('data');
}});
我面临的问题是第一次模态永远不能正常运行,因为尚未注册点击并且还没有设置Session.data。
有没有办法初始化模态,以便将它们加载到DOM中,但仍然为它们提供数据上下文?
PS。我选择了这种方法,所以我不必为每张卡片提供自己的模态。