我在其他主题中发布了这个指令。 我将实现的是,用户向上滚动并且后续数据从后端重新加载(在底部的指令中模拟)。 我现在的问题是在重新加载数据并添加到eisting数组之后,如何处理滚动条 - 如何将滚动条设置到它应该的位置(新加载的数据开始的位置) 是否存在这样做的可能性或概念。
(function() {
'use strict';
angular
.module('myProject.common')
.directive('asScrollTop', asScrollTop);
function asScrollTop() {
var directive = {
restrict: 'A',
scope: { chatMessagesOfUser: '=' },
link: link
};
return directive;
////////////
function link(scope, element, attr) {
console.log(element);
element.on('scroll', function() {
if(element[0].scrollTop <= 0) {
for(var i = 0; i < 10; i++) {
var newChatMessage = {};
newChatMessage.color = '#00ff00';
newChatMessage.confirmation = false;
newChatMessage.id = '57b05e24ce861d23bec293df';
newChatMessage.links = null;
newChatMessage.messageBody = 'das ist die neue message';
newChatMessage.messageUserConnectionId = '57b05e24ce861d23bec293e0';
newChatMessage.name = 'Mag. Testname testname';
newChatMessage.read = true;
newChatMessage.time = '13.08.2016 11:23';
newChatMessage.userCreatedMessageId = '"5589929b887dc1fdb501cdba"';
scope.chatMessagesOfUser.splice(0, 0, newChatMessage);
}
scope.$apply();
}
});
}
}
})();
答案 0 :(得分:0)
window.scrollTo
是用于将页面滚动到某个位置的javascript函数。 From MDN:
滚动到文档中的一组特定坐标。
和
实施例
window.scrollTo( 0, 1000 );
您可以使用此功能滚动页面,但前提是您知道新数据的Y位置。
也许您应该考虑在数据中插入锚标记,以用作scrollTo
的参考点。