AngularJS监听ng-repeat渲染完成的两种方法


Posted in Javascript onJanuary 16, 2018

本文实例讲述了AngularJS监听ng-repeat渲染完成的两种方法。分享给大家供大家参考,具体如下:

监听ng-repeat渲染完成有两种方法

一、最实用的方法:

<ul class="pprt_content">
    <li ng-repeat="src in imageHotList track by $index" ng-click='goGoodsDet(src.goodsId,src.merchId)' on-finish-render-filters="completeRepeat">
      <img ng-src="{{productUrl}}{{src.imageName}}">
    </li>
</ul>

对应作用域controller:

$scope.completeRepeate= function(){
alert('1')
}

自定义指令directive:

var app = angular.moduler('myApp',[]);
app.directive('onFinishRenderFilters', ['$timeout', function ($timeout) {
    return {
      restrict: 'A',
      link: function(scope,element,attr) {
        if (scope.$last === true) {
          var finishFunc=scope.$parent[attr.onFinishRenderFilters];
          if(finishFunc)
          {
            finishFunc();
          }
        }
      }
    };
}])

二、使用广播事件

/*
* Controller文件中的代码
* Setup general page controller
*/
MetronicApp.controller('simpleManageController', ['$rootScope',
'$scope', 'settings','$http', function($rootScope, $scope, settings,$http) {
  $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {
    //下面是在table render完成后执行的js
    FormEditable.init();
    Metronic.stopPageLoading();
    $(".simpleTab").show();
  });
});
MetronicApp.directive('onFinishRenderFilters', function ($timeout) {
  return {
    restrict: 'A',
    link: function(scope,element,attr) {
      if (scope.$last === true) {
        $timeout(function() {
          scope.$emit('ngRepeatFinished');
        });
      }
    }
  };
});

HTML

<!--HTML页面的代码,添加标签onFinishRenderFilters(格式有变):on-finish-render-filters-->
 <tr style="display: none" class="simpleTab" ng-repeat="simpleProduct in simpleProducts"
   on-finish-render-filters>
     <td>
       {{simpleProduct.productNo}}
     </td>
</tr>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
非常漂亮的JS代码经典广告
Oct 21 Javascript
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
Sep 04 Javascript
jQuery模仿单选按钮选中效果
Jun 24 Javascript
d3.js实现立体柱图的方法详解
Apr 28 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
Vuex的初探与实战小结
Nov 26 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
微信小程序实现流程进度的图样式功能
Jan 16 #Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 #Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 #Javascript
详解layui中的树形关于取值传值问题
Jan 16 #Javascript
基于JavaScript实现抽奖系统
Jan 16 #Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 #Javascript
浅谈vue的props,data,computed变化对组件更新的影响
Jan 16 #Javascript
You might like
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
图书管理程序(一)
2006/10/09 PHP
php+javascript的日历控件
2009/11/19 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
PHP反射实际应用示例
2019/04/03 PHP
基于jquery的拖动布局插件
2011/11/25 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
python代码编写计算器小程序
2020/03/30 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
职业生涯规划设计步骤
2014/01/12 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
博士论文答辩开场白
2015/06/01 职场文书
无故旷工检讨书
2015/08/15 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
创业计划书之面包店
2019/09/12 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
MySQL的存储过程和相关函数
2022/04/26 MySQL
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers