2016-04-07 64 views
1

在我的控制器中,我使用$ firebaseArray和$ ionicScrollDelegate在聊天中显示消息。当我的$ firebaseArray加载时,我使用滚动委托滚动到底部,它工作正常,没有问题。

但是,当增加新的孩子,我再次使用滚动委托滚动至底部,即向下滚动,没有任何问题,但它冻结的滚动,即我不能够向后滚动顶端

代码

chat.html

<ion-content delegate-handle="mainScroll"> 
    //chat list 

</ion-content> 

聊天控制器

app.controller('chatCtrl',function($scope,$firebaseArray,$ionicScrollDelegate){ 

var chatRef = new Firebase("my ref"); 


$scope.messages = $firebaseArray(chatRef); 

$scope.messages.$loaded().then(function(){ 
$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom(true); 
}); 

chatRef.on('child_added', function(childSnapshot, prevChildKey) { 

$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom(true); 

}); 


}); 

回答

1

我相信你使用android手机来测试吧?如果Android我很确定有使用动画滚动到底部的错误。你是否试图通过删除函数中的'true'值来删除动画?例如:

$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom(true); 

$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom(); 

试试看..希望它可以帮助你。

UPDATE(解决方案):

好吧,我找到了解决方案。它似乎我们需要设置“jsScrolling:真正的”,而不是默认为“jsScrolling:假”的机器人。

请修改这对“离子-angular.js”

希望它可以帮助别人:)

+0

非常感谢你的回答,但如果我们究竟需要设置“jsScrolling /编辑:假“ –

+0

$ ionicScrollDelegate。$ getByHandle('mainScroll')。scrollBottom();删除真正为我工作。 :) –

+0

@SukamalDas,你能接受答案吗? :) – Safrul