我试图将第一张图片设置为"活动项目"我是一个Bootstrap Carousel.那么,有没有办法让集合中的第一个元素与其他元素不同?
{{#each pictures}}
{{#if @first}}
<div class="item active">
<img src="/pictures/{{fileName}}" alt="" />
</div>
{{else}}
<div class="item">
<img src="/pictures/{{fileName}}" alt="" />
</div>
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
呈现的页面仅显示{{else}}语句中的内容.尝试过使用{{if @first}},但它对我不起作用.
这非常类似于模板中需要索引的问题.您需要映射pictures并标记您需要区别对待的那个.例如:
Template.myPictures.helpers({
pictures: function() {
return Pictures.find().map(function(picture, index) {
if (index === 0)
picture.isFirst = true;
return picture;
});
}
});
Run Code Online (Sandbox Code Playgroud)
然后isFirst,您可以在模板中使用如下:
{{#each pictures}}
{{#if isFirst}}
<div class="item active">
<img src="/pictures/{{fileName}}" alt="" />
</div>
{{else}}
<div class="item">
<img src="/pictures/{{fileName}}" alt="" />
</div>
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
请注意,CoffeeScript @不适用于模板.要了解更多关于模板的上下文看这个.
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |