angularjs里数组怎么引入工程文件夹里的图片

angularjs里数组怎么引入工程文件夹里的图片,第1张

如果你说的是把工程目录下所有的图片加载进来

那是做不到的,需要后端配后,由于跨域安全策略

返回给你图片列表

如果你问的是怎么加载图片

这样加载图片

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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11636200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存