【发布时间】:2014-09-24 14:55:40
【问题描述】:
我正在尝试为 ember 中的绑定数组制作 CSS 动画。我想在每次值变化时做一个动画,但它不会动画,因为每当它迭代的数组发生变化时,Handlebars 都会完全替换 #each 助手中的所有内容。
这是我正在做的简化版本:
{{#each array}}
{{custom-component value=this}}
{{/each}}
以及自定义组件的模板:
<script type="text/x-handlebars" data-template-name="components/custom-component">
<li {{bind-attr style=customAnimatedStyleThatChangesWithValue}}>{{value}}</li>
</script>
我可以使用占位符数组预渲染它,例如:
{{#each placeholderArray}}
{{custom-component value=[don't know what to put here]}}
{{/each}}
但是,正如代码块中所述,我不能在自定义组件调用中执行value=array[this]。我不认为自定义组件会在值更改时重新渲染,但我不知道在使用#each 迭代时如何传入不同数组的值。
TLDR:如何在数组更改时迭代组件数组而不破坏和重新创建它们?
【问题讨论】: