在 Angular 控制器完成加载异步函数后加载 html 视图

Load html View after Angular controller has finished loading async functions

本文关键字:加载 函数 html 视图 异步 控制器 Angular      更新时间:2023-09-26

我正在显示一个具有条件启用或禁用的按钮,在控制函数中检查两个值,一个值在服务后更新,call.so 结果视图显示为禁用,因为之前调用了函数,异步调用稍后更新了值。

因此,我希望我的视图在异步调用完成后稍后调用该禁用控制器函数。

<button class="btn btn-default" ng-disabled="shouldDisableNewStrategyLink()" id="newStrategy">
              Create New Strategy</button>
$scope.shouldDisableNewStrategyLink= function(){
   return !$scope.currentVenue.isEdit || !mapsAvailable;
}

在这里,变量 mapsAvailable 稍后会在完成异步 http 调用时更新。

怎么样ng-disabled="myAsyncCall(shouldDisableNewStrategyLink())"

哪里:

$scope.myAsyncCall = function(callback){
  $http.get(blah blah blah).then(
       callback(err,data);
}
$scope.shouldDisableNewStrategyLink = function(err,data){
  //do equivalent of return !$scope.currentVenue.isEdit || !mapsAvailable; here
}