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