【发布时间】:2013-07-29 16:17:36
【问题描述】:
我是 Meteor 和 Javascript 的新手,我正在编写一个简单的 Web 应用程序,它会提供已注册消息的列表。您可以单击删除按钮从列表中删除该消息,也可以单击“...”按钮显示有关该消息的额外信息,例如消息文本。该额外信息将显示在模式弹出窗口中。但是,我尝试在模式中显示消息,但它不起作用。
het *.html 文件中的模态模板如下:
<template name="show_message">
<div class="modal fade" id="messagewindow">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>Message</h3>
</div>
<div class="modal-body">
{{message}}
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
</div>
<div>
</template>
这是 *.js 文件中填充消息变量的函数 (cfr. {{message}}):
Template.show_message.message = function() {
p = problems.findOne({_id:Session.get('selected_message')});
return p.Message;
};
我有一个收藏问题:
problems = new Meteor.Collection("Problems")
一个问题看起来像这样:
problems.insert({Problem : {Message:m, Patient_name:p_name, PID:p_id, Request:req}});
计算所选问题 ID 的函数(cfr.Session.get('selected_problem) 可以,因为删除函数(从列表中删除项目)有效。
我也尝试过返回一个正常的字符串。在这种情况下,字符串会出现在模式弹出窗口中:
Template.show_message.message = function() {
return "example_message";
};
我在网上搜索过,但找不到任何可以帮助我的东西。这里有一些能看出问题所在的专家吗?
非常感谢。
【问题讨论】:
-
有一个疯狂的猜测:你使用的模态窗口的方法依赖于 DOM 操作,而 Meteor 的 UI 框架不能很好地处理这些东西。您可以做的是将值存储在某个隐藏节点中,然后在模态窗口显示事件中,将正确的数据从隐藏节点复制到您的库使用的那个。
标签: javascript html meteor