写一个移动端显示图片列表的web,以往都是使用jQuery的延迟加载插件来实现这一功能的,但是现在要求不能使用jQuery以及其他插件,仅使用angularjs实现这个功能。图片的路径是存储在一个json中,通过读取json的数据ng-repeat出来的。
请问有什么好的解决方法?
仅有的幸福2017-05-15 16:53:49
https://github.com/Treri/me-lazyload
https://github.com/Treri/me-lazyimg
2 つの関数は似ています。前者はスクロール用にドキュメント内に配置され、後者は要素内でスクロールするように設定できます。
我想大声告诉你2017-05-15 16:53:49
感想:
1. 画像のソースの実際のアドレスを使用しないで、属性を使用して要素に保存します
。
2. ロードする必要があるすべての画像を配列に入れます
3. 初期化中に、配列内の要素が表示範囲内にあるかどうかを確認し、表示範囲内にある場合はロードされます
。
4. スクロールイベントをウィンドウにバインドして、画像が表示範囲内にあるかどうかを確認します
5. 読み込んだ写真はキューから削除されます
元のリンク: https://www.npmjs.com/package/angular-imglazyload
阿神2017-05-15 16:53:49
jquery のアプローチは、window.scroll を監視し、画像の位置と src 属性を切り替える必要があるかどうかを判断することです。これは angular にも当てはまりますが、angular は命令に DOM 操作を記述する必要があるため、自分で命令を実装するには、一般的な考え方は次のとおりです ;
リーリー リーリーリスナーを 1 つだけ使用して jquery のような効率を実現したい場合は、この LazyLoad のロジックで IMG をクエリする方法を考慮する必要があります
シンプルにして手間を省きたい場合は、img 属性レベルでコマンドを直接記述するだけですが、これにより、画像と同じ数のイベント コールバックが登録されます
天蓬老师2017-05-15 16:53:49
http://afklm.github.io/ng-lazy-image/ このモジュールは多くの人が作成したもので、見た目も良く、非常に使いやすいです
。