2016-05-24 29 views
0

をレンダリングする前に、サービスの約束を待つん:どのように私は私が持っているビューで

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

と:どうすればよい

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

私が持っているコントローラで

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

私は MyService.getがデータを返すまで、md-checkboxのレンダリングを強制しますか?

答えて

1

ng-show、ng-hide、またはng-ifを使用して、要素がページに表示されないようにすることができます。 ng-showとng-hideは要素を隠すだけです。要素を実際にDOMに追加しないようにするには、ng-ifを使用します。 MYDATAは、要素をレンダリングするために定義されるまで待機します

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

だからあなたのような何かを行うことができます。

+0

ありがとうございました。問題は、MyService.getが約束を果たす前にisGood式が呼び出されるのを防ぐ方法です。 – luisacevedo

+2

ng-ifは、isGood式の呼び出しを防ぎます。 ng-if式がtrueになるまでページ上に表示されず、次にisGood式が呼び出されます –

関連する問題