我有一个集合,有字段;姓名,姓氏和形象。
当我在#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>
我该如何解决?
对不起我的英文:)
谢谢大家
答案 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>