如何知道 'each' 在 meteor blaze 模板中完成或重新完成
how to know 'each' done or re done in meteor blaze template
each
运行 在 onRendered
和 Tracker.autorun
之后(如果 foo
绑定订阅数据上下文)。
所以我可以t catch that
每个工作都完成了。
如何知道 each
工作完成了,还是返工又完成了?
不知道吗?
下面是一个例子。
<template name="something">
{{#each foo}}
<bar>bar</bar>
{{/each}}
</template>
我没有看到这个的实际用例,但您可以在此处使用不会向渲染输出添加任何内容的助手:
<template name="something">
{{#each foo}}
<bar>bar</bar>
{{isDone @index foo}}
{{/each}}
</template>
Template.something.helpers({
isDone(index, arr) {
if (index === arr.length - 1) {
// this was the last element
// to be rendered. do whatever
// you want here
}
}
})
并不是说这不是真正的最佳实践,你应该想想为什么你需要知道这个?如果您的渲染有性能问题,您需要检查整个模板代码设计并在必要时进行重构。
each
运行 在 onRendered
和 Tracker.autorun
之后(如果 foo
绑定订阅数据上下文)。
所以我可以t catch that
每个工作都完成了。
如何知道 each
工作完成了,还是返工又完成了?
不知道吗?
下面是一个例子。
<template name="something">
{{#each foo}}
<bar>bar</bar>
{{/each}}
</template>
我没有看到这个的实际用例,但您可以在此处使用不会向渲染输出添加任何内容的助手:
<template name="something">
{{#each foo}}
<bar>bar</bar>
{{isDone @index foo}}
{{/each}}
</template>
Template.something.helpers({
isDone(index, arr) {
if (index === arr.length - 1) {
// this was the last element
// to be rendered. do whatever
// you want here
}
}
})
并不是说这不是真正的最佳实践,你应该想想为什么你需要知道这个?如果您的渲染有性能问题,您需要检查整个模板代码设计并在必要时进行重构。