【发布时间】:2017-10-23 03:11:43
【问题描述】:
我正在尝试通过 ngFor 迭代包含图像 url 的字符串数组来动态填充 Bootstrap 4 轮播。轮播没有显示图像,尽管查看生成的标记一切看起来都很好。我猜这个组件是在 Angular 为每张幻灯片添加 div 之前渲染的,因为“轮播幻灯片”div 的高度为 0px,我认为这就是隐藏幻灯片本身的原因。
幕后我有一个名为“primarySlideshowImages”的公开属性,其中包含一组 url:
ngOnInit() {
this.primarySlideshowImages = this.photoService.getImageLists(ImageListKeys.BrochureProductsPrimary);
}
HTML 标记如下所示:
<div id="carousel1" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div *ngFor="let image of primarySlideshowImages; let i = index" class="carousel-item {{ (i == 0) ? 'active' : ''}}">
<img class="d-block img-fluid w-100" [src]="image" >
</div>
</div>
<a class="carousel-control-prev" href="#carousel1" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a>
<a class="carousel-control-next" href="#carousel1" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a>
仅供参考,我已经通过硬编码而不是动态添加图像对此进行了测试,并且一切都很好。我认为这是一个时机问题,但鉴于我对这项技术相对不熟悉,我现在甚至不知道如何寻找解决方案。
提前感谢您的帮助。我确实认识到我可以使用其他组件和方法 - ng-bootstrap 组件、开源组件、可购买的组件等。我想尝试使用 bootstrap 组件来解决这个问题,因为我很新在这项技术上,如果有一些我不明白我应该做的事情,我讨厌跳到一个简单的解决方案。再次感谢您提供的任何帮助。
【问题讨论】:
-
如果我们想在一张幻灯片中显示多于 1 个图像,即可能是 3 个或 4 个...那么它将如何工作...请帮助我
标签: angularjs bootstrap-4