ng-在 Angularjs 中重复 当$scope变化时
ng-repeat in angularjs when $scope change
首先,我从服务器获取数据并设置为$scope.data
,并通过ng-repeat使用它显示在表中。然后我继续从服务器获取数据,然后与旧$scope.data
($scope.data=$scope.data.concat(newdata)
)连接=> Broswer将绘制一些新数据行。
但我不知道旧数据(例如$scope.data[0]
,不是更改值)是否会重新绘制?你能告诉我吗?
为了避免"重新绘制",您必须使用"跟踪方式"
https://docs.angularjs.org/api/ng/directive/ngRepeat
为了尽量减少 DOM 元素的创建,ngRepeat 使用一个函数来"跟踪"集合中的所有项及其相应的 DOM 元素。例如,如果将一个项添加到集合中,ngRepeat 将知道所有其他项已经具有 DOM 元素,并且不会重新呈现它们。
例:
<div ng-repeat="n in [42, 42, 43, 43] track by $index">
{{n}}
</div>
如果使用对象,则可以使用字段(没有重复值)作为跟踪器
<div ng-repeat="model in collection track by model.id">
{{model.name}}
</div>
你必须推动你的数组
$scope.data.push.apply($scope.data,newdata);
请检查此代码以供参考
$scope.moreResultsBoats = function() {
$scope.pagIndex = $scope.pagIndex + 1;
Boat.query({pagIndex: $scope.pagIndex},
function success(result) {
console.log('Ejecuting callback. Result:' + result);
$scope.boats.push.apply($scope.boats, result);
}
);
};
$scope.data[0]
数据不会更改,因为您正在使用concat
以前的数据,这些数据将保持相同的位置,之后将添加新数据
注意:新的数据类型应该相同,然后它可以正常工作。
例如:
$scope.data = [1,2,3]
newdata = [4,5,5];
$scope.data=$scope.data.concat(newdata);
输出
[1,2,3,4,5,5]
相关文章:
- AngularJS:ng之后,重复$scope值未按预期更新
- 单击页面上的链接后高度发生变化
- $ionicplatform内的$scope不;不起作用
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- React redux初始化功能,无论状态变化如何
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- 当$scope模型发生变化时,角度视图不会发生变化
- ng-在 Angularjs 中重复 当$scope变化时
- 棱角分明,观察$scope的变化
- 当角度$scope发生变化时,不要更新 HTML
- 失败绑定 Angular 承诺$scope变化
- AngularJs:如何在值变化时启动动画(ng-scope)
- 如何准确地找出$scope中发生了什么变化$看
- jQuery如何在自定义指令中响应$scope的变化?
- 仅当$scope数据发生变化时更新DOM