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 相关文章推荐
Mootools 1.2教程 类(一)
Sep 15 Javascript
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
web页面数据展示新想法(json)
Jun 08 Javascript
jquery三个关闭弹出层的小示例
Nov 05 Javascript
jQuery自定义事件的简单实现代码
Jan 27 Javascript
JavaScript变量的作用域全解析
Aug 14 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
基于angular实现三级联动的生日插件
May 12 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 Javascript
Node.js爬虫如何获取天气和每日问候详解
Aug 26 Javascript
vue props 一次传多个值实例
Jul 22 Javascript
js利用iframe实现选项卡效果
Aug 09 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
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
js实现烟花特效
2020/03/02 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
分享一个简单的python读写文件脚本
2017/11/25 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
英文自荐信
2013/12/19 职场文书
师德师风培训感言
2015/08/03 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
服务器SVN搭建图文安装过程
2022/06/21 Servers