1
我試圖創建一個菜單,允許某些用戶訪問某些內容:角 - 我的功能是在一個無限循環中運行
HTML
<ul class="dropdown-menu">
<li><a href="/local" >Local</a></li>
<li><a href="/fazenda" ng-class = "{botaodisabled:botoes('Fazenda')}">Fazenda</a></li>
<li><a href="/gleba">Gleba</a></li>
在此示例'Fazenda'
將檢查如果用戶將要訪問功能botoes('Fazenda')
以外的功能。最後,菜單中的所有項目都將獲得此功能以檢查用戶是否有權訪問它。問題是我的函數不會爲菜單的每個項目運行一次,從而造成無限循環。
角:
$scope.botoes = function(nome) {
console.log(nome);
$http.get('/botaopermissao/'+nome).success(function(data) {
console.log(data);
if(data == "Encontrado!"){
return true;
}else{
return false;
}
});
}
'$ http.get'是異步的,您必須使用立即返回true/false的函數。更不用說,你不能從異步請求返回任何東西 – Tomer
這將觸發**每**消化週期!不要這樣做!只需創建一個'$ scope'屬性,並在控制器 – devqon
中初始化,不再使用'.success()',而應該使用'.then()'。 – Claies