Angularjs 手风琴式调整和滚动
我有一个爱奥尼亚风格的手风琴。当用户单击打开我使用的某个项目时重置屏幕大小Angularjs 手风琴式调整和滚动,angularjs,scroll,resize,ionic,accordion,Angularjs,Scroll,Resize,Ionic,Accordion,我有一个爱奥尼亚风格的手风琴。当用户单击打开我使用的某个项目时重置屏幕大小$ionicScrollDelegate.resize()。但是仍然存在一个问题,当我点击一个内容丰富的项目,然后点击下一个项目时,内容会上升,因为关闭了上面的项目,但屏幕不会一起滚动,因此用户不会看到他刚刚点击的项目的内容 我需要的是,屏幕总是滚动到点击项目内容的开头 我试过这个 $IonicScrollDelegate.$getByHandle('handle_'+group.id).scrollTop() 但我一定是
$ionicScrollDelegate.resize()代码>。但是仍然存在一个问题,当我点击一个内容丰富的项目,然后点击下一个项目时,内容会上升,因为关闭了上面的项目,但屏幕不会一起滚动,因此用户不会看到他刚刚点击的项目的内容
我需要的是,屏幕总是滚动到点击项目内容的开头
我试过这个
$IonicScrollDelegate.$getByHandle('handle_'+group.id).scrollTop()代码>
但我一定是做错了什么,因为它返回了一个错误,我们找不到delgate句柄。搜索时,我发现一些人说要使用$timeout
,但这也没有解决我的问题
下面是我用于控制器的代码:
.controller('CatalogoCtrl', function($scope, categories, $ionicScrollDelegate) {
Scope.categorias Categorias.all $ = ();
$scope.toggleCategoria = function(group) {
if ($scope.isGroupShown(group)) {
$scope.shownGroup = null;
} else {
$scope.shownGroup = group;
}
$IonicScrollDelegate.$getByHandle('handle_' + group.id).scrollTop();
};
$scope.isGroupShown = function(group) {
return $scope.shownGroup === group;
};
})
看起来您的代码中有输入错误,因为出现了$IonicScrollDelegate(以大写I开头)和$IonicScrollDelegate(以小写I开头)
因此,您应该将所有出现的$IonicScrollDelegate更改为$IonicScrollDelegate。您能详细说明一下吗