AngularJs中,如何在數據加載完成后,執行Js腳本


這段時間在公司使用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 });


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM