【发布时间】:2015-08-09 10:35:24
【问题描述】:
HTML
<template name='sometpl'>
<select>
<option>day</option>
<option>night</option>
</select>
{{#if day}}
<div class='ui popup' data-popup='I'm awake!'>day</div>
{{#if night}}
<div class='ui popup' data-popup='I'm asleep'>night</div>
</template>
咖啡
Template.sometpl.helpers
day:-> if $('select').val()=='day' then true
night:-> if $('select').val()=='night' then true
Template.sometpl.onRendered ->
$('.ui.popup').popup()
此代码 $('.ui.popup').popup() 初始化各个元素上的弹出窗口 (semantic-ui)。问题是它仅在 tpl 渲染上运行一次,因此仅影响此节点:<div class='ui popup' data-popup='I'm awake!'>day</div>。
当我选择night 时,此代码$('.ui.popup').popup() 不会运行,使新呈现的节点<div class='ui popup' data-popup='I'm asleep'>night</div> 没有弹出窗口。
此外,当我再次选择day 时 - 这次没有弹出窗口!因为它调用了全新的“day”div 的渲染,而不是旧的。
在这里可以做什么?
【问题讨论】:
标签: meteor