gpt4 book ai didi

javascript - 如何更新列表的 ng-repeat View ?

转载 作者:行者123 更新时间:2023-12-02 17:22:47 25 4
gpt4 key购买 nike

This simple fiddle使用 ng-repeat 显示列表。但是,如果我从 DOM 外部更改列表(在本例中,使用计时器), ListView 不会更新。

我需要做什么来解决这个问题?

最佳答案

因为您是从 Angular 外部调用 setTimeout( fn ),所以摘要循环不知道变量已更新。

尝试使用 Angular 的 $timeout 服务,这样当函数运行时,Angular 就会知道应用摘要周期。

Updated example

编辑:使用 $scope.$apply() 的示例,以防 $timeout 未使用。

来自评论:“是的,你可以运行 if(!$scope.$$phase) $scope.$apply()。还有 $scope.$digest 如果您只是消化本地范围。 JSFiddle "

Controller 内的代码示例:

$scope.lines = lines;
setTimeout(function() {
lines.push({text: 'new text'});
console.log('Line added: ' + lines.length);
if ( !$scope.$$phase ) $scope.$apply();
}, 1000);

关于javascript - 如何更新列表的 ng-repeat View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23769480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com