這段時間在公司使用angularjs開發公司內部使用的系統, 經常遇到權限控制問題,動態數據中的按鈕如何控制權限顯示隱藏
1. 自定義directive:
1 dirt.directive('onFinishRenderFilters',['$timeout',function($timeout){ 2 return { 3 restrict:'A', 4 link:function(scope){ 5 if (scope.$last === true) { 6 $timeout(function() { 7 scope.$emit('ngRepeatFinished'); 8 }); 9 } 10 } 11 } 12 }]);
2. 使用ng-repeat動態循環出數據, 然后在我們需要監控的地方,加上該directive:
1 <tbody> 2 <tr ng-repeat="n in noticeListData" on-finish-render-filters> 3 <td ng-bind="n.title"></td> 4 <td ng-bind="n.noticetype"></td> 5 <td ng-bind="n.district"></td> 6 <td ng-bind="n.createTime"></td> 7 <td ng-bind="n.createDepartment"></td> 8 <td ng-bind="n.createUserName"></td> 9 </tr> 10 </tbody>
3. 最后在控制器中使用:
1 $scope.$on('ngRepeatFinished', function () { 2 var rightsRES = rightsActionHttp.rightsAction('kygjsc'); 3 setTimeout(function(){ 4 $('.'+rightsRES).remove(); 5 },100); 6 });