6

如何强制流星模板(车把模板)通过 javascript 重新渲染。例如,

我有一个模板(template1.html)

<template name="template1">
</template>

我想从我的/client目录中的任何地方强制渲染这个模板。车把包中是否有任何东西可以做到这一点?

编辑:添加更多细节

我第一次创建这个模板没有任何困难,无论是通过把手还是 javascript。我想刷新模板并让我的rendered回调再次运行。我有代码可以在呈现该模板时获取并显示相关数据。

<template name="template1">
     {{each items}}
      {{> template2}}
     {{/each}}
 <template/>

如果项目中的任何数据发生变化,那么我理解,template1并且template2都会渲染但是当有任何数据发生变化时会发生什么template2,我想template1再次刷新/渲染?

4

2 回答 2

7

对于METEOR 的新版本,请使用UI.render() 和 UI.insert()




defunc - 对于不使用 blaze 的流星版本

你能提供更多的上下文吗?

在 html 文件中呈现该模板只需使用:

<div id="somediv">
    {{> template1}}
</div>

如果你想通过 javascript 做到这一点,一种方法是:

$('#somediv').html(Meteor.render(Template.template1));

看一眼:

于 2013-05-19T20:45:15.753 回答
1

您会在模板 1 中看到的模板 2 发生了什么变化?下面将在插入或删除时刷新 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() );
于 2013-08-30T19:24:35.400 回答