Angular - 更新范围会导致页面滚动的任何原因

时间:2016-06-30 14:29:49

标签: javascript angularjs

在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>

1 个答案:

答案 0 :(得分:2)

代码中有一个ng-repeat。每当您更新数据时,ng-repeat必须删除,然后重新创建其页面的一部分。因此页面缩小并重新生成。因此,如果它出现滚动到顶部。

向ng-repeat添加一个轨道可能会有所帮助,因为它会识别出大多数单元格是相同的,所以将它们保存在DOM中,这应该会阻止所有行在匹配时被销毁。