Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular controller完成异步函数加载后加载html视图_Javascript_Angularjs_Asynchronous_Angularjs Scope - Fatal编程技术网

Javascript 在Angular controller完成异步函数加载后加载html视图

Javascript 在Angular controller完成异步函数加载后加载html视图,javascript,angularjs,asynchronous,angularjs-scope,Javascript,Angularjs,Asynchronous,Angularjs Scope,我正在显示一个具有条件启用或禁用的按钮,在控制函数中,选中两个值,一个值在服务调用后更新。因此,结果视图显示为禁用,因为函数在调用之前被调用,异步调用在稍后更新值 所以我希望视图在异步调用完成后调用禁用控制器函数 <button class="btn btn-default" ng-disabled="shouldDisableNewStrategyLink()" id="newStrategy"> Create New Strategy</butt

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

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

<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=myAsyncCallshouldDisableNewStrategyLink如何

其中:

$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
}

异步调用是从控制器中的某个位置调用的。无论如何,谢谢你的回复。我想帮你解决这个问题。如果你还需要帮助,请告诉我。