Javascript 在AngularJs ui网格中添加项,并立即滚动到该项

Javascript 在AngularJs ui网格中添加项,并立即滚动到该项,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我使用的是ui网格3.1 我遇到了滚动的问题 我有一个按钮,可以触发“addItem”功能,执行 var item = { ... }; myarray.splice(0,0,item); 在我的数据阵列上 我试过了 $scope.gridApi.core.scrollTo(...); $scope.gridApi.cellNav.scrollToFocus(...); $(".ui-grid-viewport").scrollTop(...); 不可能。。。这不管用。它根本不会滚动。 然而

我使用的是ui网格3.1

我遇到了滚动的问题

我有一个按钮,可以触发“addItem”功能,执行

var item = { ... };
myarray.splice(0,0,item);
在我的数据阵列上

我试过了

$scope.gridApi.core.scrollTo(...);
$scope.gridApi.cellNav.scrollToFocus(...);
$(".ui-grid-viewport").scrollTop(...);
不可能。。。这不管用。它根本不会滚动。 然而,我注意到,当我指定另一个当前数据索引时,它已经起作用了

是否有任何事件要触发,以便网格可以更新行位置

更新:

解决方案是在$timeout上下文中执行滚动功能:

$timeout(function () {
    $scope.gridApi.cellNav.scrollToFocus(...);
}, 100);

您是否尝试过将其包装在延迟0秒的$timeout()中?这样函数将等待一个摘要周期,uiGrid有机会更新EYP,使用$timeout是正确的方法。但在我的上下文中它是未定义的。。。有没有办法让它“定义”?在控制器函数中添加
$timeout
作为一个依赖项。这就成功了!谢谢