那是做不到的,需要后端配后,由于跨域安全策略
返回给你图片列表
如果你问的是怎么加载图片
这样加载图片
var img = new Image;
img.src = '....jpg'
img.onload = function(){
console.log('图片加载完成')
}
jquery的做法是监听window.scroll,然后判断图片的位置,是否需要切换src属性,那么angular也一样,只是由于angular需要将DOM *** 作写在指令里面,所以需要自己去实现指令。解决思路:
1,图片的src不要使用真实的地址,用一个属性保存在元素上
2,把所有需要使用延迟加载的图片放到一个数组中,
3,初始化的时候检查数组中的元素是否在可视范围内,可视范围内即加载
4,给window绑定滚动事件检查图片是否在可视范围内
5,加载完成的图片从队列中删除
var module = angular.module('testApp', []).controller('myC',function(){
$scope.ta = [1,2,3,4,5,6]
}).directive('onFinishRender', function () {return {restrict: 'A',link: function (scope, element, attr) {if (scope.$last === true) {element.ready(function () {
$("#r_img").remove()
}) }}}})
1
2
3
4
<div ng-app="testApp" ng-controller="myC">
<img id="r_img" src="xxxx/xx.jpg"/>
<p ng-repeat="t in ta" on-finish-render="test()">{{t}}</p>
</div>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)