如何强制通过javascript重新渲染流星模板(手柄模板)。例如,
我有一个模板(template1.html)
<template name="template1">
</template>
我想强制从/client
目录中的任何位置渲染此模板。车把套件中有什么可以做到的吗?
编辑:添加更多详细信息
我第一次创建这个模板没有任何困难,无论是通过把手还是javascript。我想刷新模板并使rendered
回调再次运行。我有代码,在呈现该模板时将获取并显示相关数据。
<template name="template1">
{{each items}}
{{> template2}}
{{/each}}
<template/>
如果项目中的任何数据发生变化,我明白,template1
和template2
都会呈现,但当template2
中有任何数据发生变化时会发生什么,我想刷新/再次渲染template1
?
答案 0 :(得分:7)
您能提供更多背景信息吗?
在html文件中提交该模板只需使用:
<div id="somediv">
{{> template1}}
</div>
如果你想通过javascript实现这一目的,那就是:
$('#somediv').html(Meteor.render(Template.template1));
看看:
答案 1 :(得分:1)
您在模板1中看到的template2有什么变化?下面将在插入或删除时刷新template1。
<template name="template1">
{{itemsCount}} items
{{#each items}}
{{> template2}}
{{/each}}
<template/>
或者,
<template name="template1">
Last updated: {{lastUpdate}}
{{#each items}}
{{> template2}}
{{/each}}
<template/>
Template.template1.lastUpdate = function () {
return Session.get('lastUpdate');
};
然后在某处您更新数据添加:
Session.set('lastUpdate', new Date() );