我正在研究聊天应用程序,问题似乎是滚动底部的指令,当消息中有图像时,ng-repeat中的最后一项无法正常工作。 所以它不会一直向下滚动。 我认为原因是指令在图像完全加载之前滚动。
// Scroll to bottom directive
.directive('schrollBottom', function ($timeout) {
return {
scope: {
schrollBottom: "="
},
link: function (scope, element) {
scope.$watchCollection('schrollBottom', function (newValue) {
if (newValue)
{
$timeout(function() {
$(element[0]).scrollTop($(element)[0].scrollHeight);
}, 0, false);
}
});
}
}
})
答案 0 :(得分:1)
检查here以了解在执行操作之前如何等待图像加载。您可以向所有图像添加一个类,并在滚动之前等待加载该类的所有图像。
我会保留你的逻辑,并把它放在emberjs
回调处理程序中。然后,只有在所有图像都已加载后才会滚动到底部。