我想创建我自己的图像旋转木马作为angularjs指令;我想保持它作为轻便unopinionated的不可能性,所以我想我只是创造一个<carousel></carousel>
包装一组<img>
元素,像这样:
<carousel>
<img ng-repeat="image in images" ng-src="{{image.src}}" alt=""/>
</carousel>
什么指令的作用是简单地创建一个<div class="carousel">
将图像转入其中的元素。现在,我还没有编码图像滑动或淡入/淡出的部分,因为我想先排除一个问题:我想将转盘和其中的所有图像分配到相同的高度(计算作为最短图像的高度),以避免在显示较高图像时转盘高度发生变化,或者在转盘具有固定高度的情况下避免裁剪图像。
因此,我记下了this JSFiddle来演示,但到目前为止,我发现计算透印图像高度的最佳解决方案依赖于两个嵌套的$timeout
s,延迟时间为100 ms。它看起来更像是一种黑客而非任何事情。
所以我想知道是否有一个“正确”的方式来完成它在angularjs中。干杯。
P.S.在旁注中,我也不喜欢获取指令模板的根元素<div class="carousel">
,使用element.children()
...有没有简单的方法可以在angularjs中引用它?环顾四周,但没有骰子。
因为没有'$ timeout'你的指令将之前'NG-repeat'运行呈现完毕后'img'的标签 –
优秀的方法,荣誉。 :) –
是的..我以为我实现了..它的工作..很高兴帮助你.. :) –