我正在尝试创建自己的图像轮播作为 angularjs 指令;我想让它尽可能地轻量级和无主见,所以我想我只是<carousel></carousel>
为一组<img>
元素创建一个包装器,如下所示:
<carousel>
<img ng-repeat="image in images" ng-src="{{image.src}}" alt=""/>
</carousel>
该指令的作用是简单地创建一个<div class="carousel">
图像被嵌入其中的元素。现在,我还没有编码图像滑动或淡入/淡出的部分,因为我想先解决一个问题:我想将轮播和其中的所有图像分配相同的高度(计算作为最短图像的高度)以避免轮播在显示更高的图像时改变高度,或者避免在轮播具有固定高度的情况下裁剪图像。
所以我记下了这个 JSFiddle来演示,但到目前为止,我发现计算嵌入图像高度的最佳解决方案依赖于两个嵌套$timeout
的 s,延迟为 100 毫秒。在我看来,它更像是一个黑客而不是任何东西。
所以我想知道在angularjs中是否有一种“正确”的方式来完成它。干杯。
PS 附带说明一下,我也不喜欢获取指令模板的根元素,<div class="carousel">
在我的情况下,使用element.children()
... 在 angularjs 中没有简单的方法来引用它吗?环顾四周,但没有骰子。