有没有一种方法可以不使用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就无法工作,我可以这样做,但感觉这个问题的解决方案是错误的。
答案 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>