在ng表中选择,在ng表中重新加载数据时,页面返回顶部

时间:2018-08-14 06:39:49

标签: javascript angularjs

我们正在使用ng表在页面上呈现一些数据。在表格内,一个ng-repeater会从对象数组中逐行显示值。列之一是选择框,其值来自在控制器内部声明并填充的数组中。

这是数组的声明:

$scope.CharacteristicsToChange = [];

这是方法中某处的数组填充:

if ($scope.ItemProfile.ProductionDateRegistration != 'No')
    $scope.CharacteristicsToChange.push({ Name: 'Production date' });

if ($scope.ItemProfile.BestBeforeDateRegistration != 'No')
    $scope.CharacteristicsToChange.push({ Name: 'Best before date' });

选择框为:

<select class="form-control" id="ddlCharacteristics" ng-options="characteristic.Name as characteristic.Name for characteristic in CharacteristicsToChange" name="Characteristic" ng-model="inventory.SelectedCharacteristic" required>
    <option value="" class="select-placeholder"> Select characteristic type</option>
</select>

我们的问题是,当ng表的数据每10秒重新加载一次,并且页面滚动到底部时,页面又回到顶部。

我认为问题在于数组是我们从其中获取select($ scope.CharacteristicsToChange)值的地方,因为当我删除该数组的填充部分时,就不再出现重新加载问题。

1 个答案:

答案 0 :(得分:1)

页面上是否有ng-ifng-show的实例?没有看到更多代码,听起来您实际上可能是在重新加载数据时实际上在DOM上删除/隐藏了元素,然后重新创建它(因此使其回滚到顶部)