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。

您能详细说明一下吗