通过空格键将变量传递给模态

时间:2017-02-28 05:46:29

标签: meteor spacebars

有没有一种方法可以不使用JavaScript,Spacebars可以将变量传递给模态?

例如,当我尝试:

<button type="button" id="genbtn" data-toggle="modal" data-target="#entryModal">Pass</button>
{{> newentry var=item}}

它在模态中不起作用:

<template name="newentry">
 {{#with var}}It displays here!{{/with}}
<div id="entryModal" class="modal fade" role="dialog">
 {{#with var}}Does not display here!{{/with}}

(其余的模态工作得很好)

我无法弄清楚为什么变量可以进入模板,但不能超过模态。否则模态的非var相关函数工作得很好。为什么会中断?可以克服吗?如果是这样,怎么样?

注意:如果没有使用JavaScript就无法工作,我可以这样做,但感觉这个问题的解决方案是错误的。

2 个答案:

答案 0 :(得分:0)

我最近有一个更苗条的问题所以我只是分享我的工作实例。我使用下面的代码,它的工作非常完美。

{{>userInfo userId=customer._id userType='Customer'}}

然后在userInfo模板中我得到了userType:

<div class="panel panel-{{currentColor ../userType}} user-info">

请注意userType之前的../。我也在js中使用userId:

Template.currentData().userId

因此可以像我作为帮助者那样使用

relatedUser: function(){
        return Meteor.users.findOne({_id: Template.currentData().userId})
}

希望我的例子可以提供帮助:)

<强>更新

在newentry模板中做一个帮助:

myReactiveHelper: function(){
    return Template.currentData().var
}

然后在您的模板中将该帮助程序而不是var绑定为:

{{#with myReactiveHelper}}Does not display here!{{/with}}

答案 1 :(得分:0)

我认为使用Jquery lightbox_me插件将你的模态包装到流星模板中会更好更简单。 例如。

$body = $('body')
UI.render Template.release_info, $body[0] //rendering template
$popup =  $body.find("#releases-info-popup-container") // modal Id
$popup.lightbox_me
  centered: true
  destroyOnClose: true

模板

<Template name="release_info">
   <div id="releases-info-popup-container">
   </div>
</Template>