如何在渲染之前等待服务承诺

时间:2016-05-24 20:19:02

标签: angularjs promise angular-material

在视图中我有:

 <md-checkbox ng-disabled={{isGood('test')}}...

在控制器中我有:

$scope.isGood=function(model){
  return  $scope.myData.indexOf(model);
}

MyService.get({id:1}, function(data) {
  $scope.myData=data;
  .....
});

如何强制md-checkbox的渲染等到 MyService.get返回数据?

1 个答案:

答案 0 :(得分:1)

您可以使用ng-show,ng-hide或ng-if来阻止元素显示在页面上。 ng-show和ng-hide只会隐藏元素。如果要阻止实际添加到DOM的元素,请使用ng-if。

所以你可以这样做:

<md-checkbox ng-if="myData" ...>

将等到定义myData以呈现元素。