流星模板图像重绘

时间:2013-10-01 07:04:37

标签: meteor

我有一个集合,有字段;姓名,姓氏和形象。

当我在#each循环中使用它时,当获取新数据时,#each循环重绘图像。 “#isolate”不适合它。

每个新记录都会进入页面,图像会再次重绘。

<head>
  <title>image</title>
</head>

<body>
    {{> records}}
</body>

<template name="records">
    <table>
        {{#each records}}
        <tr>
            <td>{{name}}</td>
            <td>{{surname}}</td>
            <td><image src="/{{src}}" /></td>
        </tr>
        {{/each}}
  </table>  
</template>

我该如何解决?

对不起我的英文:)

谢谢大家

2 个答案:

答案 0 :(得分:1)

您可以通过将模板分成两部分来解决此问题。当它们分开时,meteor只会更新已更改的记录。

<template name="records">
    <table>
    {{#each records}}
      {{>record}}
    {{/each}}
    </table>  
</template>

<template name="record">
    <tr>
      <td>{{name}}</td>
      <td>{{surname}}</td>
      <td><image src="/{{src}}" /></td>
    </tr>
</template>

答案 1 :(得分:0)

如果您完全想要消除任何反应,请务必正确使用{{#isolate}}

这将阻止重新渲染(即)records.insert(...);

<template name="records">
    <table>
        {{#isolate}}
        {{#each records}}
        <tr>
            <td>{{name}}</td>
            <td>{{surname}}</td>
            <td><image src="/{{src}}" /></td>
        </tr>
        {{/each}}
        {{#isolate}}
    </table>  
</template>

但这不会:

<template name="records">
    <table>
        {{#each records}}
        {{#isolate}}
        <tr>
            <td>{{name}}</td>
            <td>{{surname}}</td>
            <td><image src="/{{src}}" /></td>
        </tr>
        {{#isolate}}
        {{/each}}
    </table>  
</template>