【发布时间】:2019-04-13 15:25:28
【问题描述】:
我正在尝试实现旋转木马的角码。轮播与动态数组相关联,但是当我将*ngFor 与轮播类一起使用时,它不起作用。
我尝试在 for 循环中编写 class="carousel-item",但控制台显示:
无法读取未定义的属性“clientWidth”。
此代码不起作用:
模板:
<div class="carousel carousel-slider">
<div class="carousel-item" href="#one!">
<div *ngFor ="let item of items;let i = index">
<img src={{items[i]}}>
</div>
</div>
</div>
组件:
options = {fullWidth: false};
constructor(private http: HttpClient) {
}
ngOnInit() {
var elems = document.querySelectorAll('.carousel');
var instances = M.Carousel.init(elems, this.options);
}
我也只得到一张图像,它被裁剪成两半,好像我删除了 for 循环并一个接一个地写 <div class="carousel-item">,例如:
<a class="carousel-item" href="#one!"><img src={{items[0]}}></a>
<a class="carousel-item" href="#two!"><img src={{items[1]}}></a>
<a class="carousel-item" href="#three!"><img src={{items[2]}}></a>
这样做,我让轮播开始工作,但它没有绑定到我想要的动态数组。
【问题讨论】:
-
您应该尝试使您的动态模板匹配预期的静态结果。你可以试试这个:
<a class="carousel-item" *ngFor ="let item of items;let i = index" [href]="i"> <img src={{ item }}> </a>
标签: javascript angular typescript angular-material materialize