gpt4 book ai didi

javascript - 经常使用 $scope.$apply() 是一种好习惯吗?

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:19 26 4
gpt4 key购买 nike

view 中将我的列表更新为 ng-repeat 时遇到问题,$scope.$apply 帮了我大忙。我很担心观察者。经常使用 $scope.$apply() 是一种好习惯吗?因为我在应用程序中有很多 View ,必须在单击按钮时立即更新。
PS:欢迎任何替代方案。
我的应用程序的示例 JS 代码:

function onRefreshList() {
vm.showLoader = true;
GetDataService.getVotes(someParams).then(function(res) {
if (res){
vm.showLoader = false;
vm.voteList = res; //voteList will be updated on click of Refresh list
$scope.$apply(); //working fine with this }
}).catch(function (res) {
vm.showLoader = false;
console.log("There was an error will loading votes");
})
}

HTML:

<div ng-show="showLoader">
<ion-spinner icon="android" class="spinner-assertive"></ion-spinner>
</div>

<div ng-show="!showLoader" ng-repeat="vote in votesCtrl.voteList">
{{vote}}
</div>

最佳答案

AngularJS 默认为 JavaScript 异步提供自己的包装器:

  1. 指令,例如 ng-clickng-keydown
  2. $http 异步 AJAX 调用服务
  3. $timeout$interval

在我看来,单独使用 $scope.$apply() 方法是一种不好的做法,不应在整个代码中随意使用此方法。如果必须这样做,则意味着您在考虑应用程序/模块/组件时做错了什么。

阅读更多 here .

关于javascript - 经常使用 $scope.$apply() 是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43559698/

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