我在 ember 中有一个 each 循环,在第一次显示数据时可以正常工作。在其中,有一个 if 语句,它要么显示可用的图像,要么显示一个上传图像的按钮。如果我确实上传了新图像,我希望页面上的项目切换为显示图像,然后按钮将被隐藏。
我发现这样做的唯一方法是删除 if 语句,并在项目上使用一些 bindattr 属性,以便它们可见或隐藏(尽管这迫使我在模型上为视图逻辑创建特殊字段)。我想知道是否有某种方法可以刷新每个循环或仅刷新循环中的特定项目?
ul.thumbnails
{{#each item in view.content}}
li.span5.thumbnail
{{#if item.isPlaceholder}}
.placeholder
<span class="photo-category">{{item.category}}</span>
<button class="btn" {{action "showCategoryFileUpload" item target="parentView"}}>Upload Photo</button>
{{else}}
<a {{action "showPhoto" item target="parentView"}} class="photo-link" href="#">
<img {{bindAttr src="item.url"}} {{bindAttr class="item.islast"}} /><span class="photo-category">{{item.category}}</span>
</a>
{{/if}}
{{/each}}