【问题标题】:Load html View after Angular controller has finished loading async functions在 Angular 控制器完成加载异步函数后加载 html 视图
【发布时间】:2015-01-19 14:39:39
【问题描述】:

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

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

<button class="btn btn-default" ng-disabled="shouldDisableNewStrategyLink()" id="newStrategy">
              Create New Strategy</button>

$scope.shouldDisableNewStrategyLink= function(){
   return !$scope.currentVenue.isEdit || !mapsAvailable;
}

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

【问题讨论】:

    标签: javascript angularjs asynchronous angularjs-scope


    【解决方案1】:

    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
    }
    

    【讨论】:

    • 从控制器中的某处调用 AsynCall。无论如何感谢您的回复。
    • 我想帮你解决这个问题。如果您仍然需要帮助,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多