AngularJS,在不消失 div 的情况下更改视图中的数据



我正在AngularJS做一个小向导/调查,将数据加载到变量中,$scope.styles .我在这里设置了一个易于使用的 plunkr:

http://plnkr.co/edit/1S542YE7xlO2P4zyhzu0?p=preview

很简单。我连续向用户显示每个对象,这些对象加载相关图像并向用户显示它们。单击它在下一个图库中加载的图像底部的"是/否"。这里的刷新之间存在很大的滞后(Plunkr 似乎加载它的速度很快,但在我的生产服务器上并非如此,所以它更加明显),这导致窗口大小暂时小得多加上ng-repeat下面的所有内容跳到屏幕顶部。

防止这种情况发生的最佳方法是什么?CSS是这里唯一的解决方案吗?

您的问题是<img>元素的大小为 0,直到用户的浏览器加载图像文件。 尝试将图像标记更改为<img ng-src="{{img}}" width="100" height="100"/>,您会注意到不再闪烁。 如果可能,请让服务器返回这些属性以及图像 url 数据。

您可以为图像包装器div 添加高度( style="height:300px" 或者更好的是,作为一个类)。

这样,当图像更改以及图像少于三行时,包装器将保持固定大小。

最新更新