在我的控制器中,我使用$ 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);
});
});
答案 0 :(得分:1)
我相信你正在使用Android手机进行测试吗?如果安卓我很确定通过使用动画滚动到底部有一个错误。您是否尝试通过删除函数上的“true”值来删除动画?例如:
$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom(true);
到
$ionicScrollDelegate.$getByHandle('mainScroll').scrollBottom();
试试吧..希望它可以帮助你。
更新(解决方案):
好的,我找到了解决方案..似乎我们需要设置'jsScrolling:true'而不是默认为'jsScrolling:false'用于android。
请在'ionic-angular.js'
上修改/编辑希望它能帮助别人:)