<tr ng-repeat="x in projects">
<td>{{x.projects.project_name}}</td>
<td ng-hide="checkPermissions(x)"><button ng-click="deleteProject(x)"> Delete</button</td>
</tr>
功能checkPermissions将发送带有http.post的api以验证当前用户是否有权删除项目 如果他没有权限,它将返回false并且删除按钮不会被显示 你能告诉我为什么我会陷入无限循环吗? 我用Postman测试了我的api,它就像魅力一样 控制台主要错误:$ rootscope:infdig
答案 0 :(得分:0)
你可以编辑你的问题并在角度控制器中向我们展示代码吗?通常,您可能需要查看有关无限循环错误的角度文档。
https://docs.angularjs.org/error/$rootScope/infdig
祝你好运!
答案 1 :(得分:-1)
它不是无限循环:在每个视图循环上调用checkPermissions
(相当于角度中的帧速率)。这是由于每帧都要调用ng-hide。解决方案是只为控制器中的每个项目调用checkPermissions
一次,并仅检查结果。
喜欢
// myController.js
$scope.projects.forEach(project => {
project.canDisplay = checkPermissions(project)
}
// myHtml.html
ng-hide="x.canDisplay"