在Angular中,更新$scope
变量会导致我的页面滚动到顶部是否有任何理由?
简单地说,我正在更新的变量是$scope.searchResults
但是每次更新时,页面都会滚动到顶部。
if ($routeParams.textToSearch == 'new') {
getService.getResults('EU', 50)
.then(function (data){
$scope.searchResults = data.data[0];
});
}
有什么想法吗?
请求详细的HTML - 这是在我的<ng-view autoscroll="true"></ng-view>
:(注意我也尝试过自动滚动 - 问题仍然存在。
<div equalizer="'group'" " ng-repeat="question in searchResults">
<div class="searchTile" equalizer="'group'">
<div id="circle{{$index}}">
<nvd3 options="circleOptions" data="question.options"></nvd3>
</div>
</div>
</div>
答案 0 :(得分:2)
代码中有一个ng-repeat。每当您更新数据时,ng-repeat必须删除,然后重新创建其页面的一部分。因此页面缩小并重新生成。因此,如果它出现滚动到顶部。
向ng-repeat添加一个轨道可能会有所帮助,因为它会识别出大多数单元格是相同的,所以将它们保存在DOM中,这应该会阻止所有行在匹配时被销毁。