博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Angularjs]angular ng-repeat与js特效加载先后导致的问题
阅读量:6245 次
发布时间:2019-06-22

本文共 1034 字,大约阅读时间需要 3 分钟。

写在前面

最近在项目中遇到这样的一个前端的bug,在ng-repeat中绑定的图片,有一个晃动的特效,在手机端浏览的时候,图片有时候会正常展示,有时就展示不出来。当时猜测是因为angularjs与特效的那些代码加载的先后顺序造成的。有了这样的猜测,就有查找解决方案的方向了。

系列文章

解决方案

自定义一个指令,在加载完成angular repeat时,然后再去绑定那些特效。具体如下所示:

var app = angular.module('mylibraryapp', ['ngRoute', 'pascalprecht.translate', 'ngFileUpload']);//指令app.directive('onFinishRenderFilters', function ($timeout) {    return {        restrict: 'A',        link: function (scope, element, attr) {            if (scope.$last === true) {                $timeout(function () {                    scope.$emit('ngRepeatFinished');                });            }        }    }});

在使用ng-repeat的标签上面添加这样的代码

........

在对应的Controller里面,添加angular repeat执行完成的回调方法

//加载完成    $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {        new WOW().init();        var h = $(window).height();        $(".modal-dialog").css("margin-top", (h / 2) - 100 + "px");    });

总结

这个问题折腾了很长时间,在电脑上测试测试不出来,在部分低版本的android手机上面有这样的问题。

转载于:https://www.cnblogs.com/wolf-sun/p/5089637.html

你可能感兴趣的文章
ul宽度不固定,li的数量不定要保持居中???
查看>>
mysql多实例的作用和问题
查看>>
[置顶] ApplicationResources_zh_CN.properties乱码问题
查看>>
我的友情链接
查看>>
当寂寞不得不成为一种习惯
查看>>
oracle的序列号(sequence)
查看>>
MyEclipse启动tomcat发生Socket bind failed: [730048]
查看>>
树莓派连接到手机屏幕
查看>>
MyBatis学习整理0
查看>>
[转载]不再让你孤单
查看>>
登录验证的生成类RandomCodeRender
查看>>
singleton
查看>>
smarty插件判断图片是否存在,不存在则调用默认图片
查看>>
[转载] 晓说——第29期:海上霸主航母(上)
查看>>
05 显示网页信息
查看>>
[转载] 中华典故故事(孙刚)——37 只许州官放火,不许百姓点灯
查看>>
mysql5.7.22源码编译安装
查看>>
Java基础学习总结(23)——GUI编程
查看>>
SVN学习总结(2)——SVN冲突解决
查看>>
nagios的安装搭建以及添加监控主机
查看>>