やあ
ページが最初に読み込まれると画像がダウンロードされますが、下にスクロールすると画像がダウンロードされません。 イベントが発生していないようです。
`` `
{{従業員名}}
`` `
Angularバージョン:5.1.2
"ng-lazyload-image": "^ 3.4.2"、
あなたが問題を解決することを願っています。
ありがとう
簡単なAngular5アプリをセットアップしましたが、正常に機能しているようです-https://stackblitz.com/edit/angular-9guzc4?embed = 1 app.component.html
画像が別のスクロールコンテナにある場合は、 scrollTarget
を使用する必要があります。 APIドキュメントまたは例を参照してください。
@ vugar005 、あなたの外側のdivがposition: relative
スタイルであることがわかります。 このdivとposition: absolute
ウィンドウの間にラッパーがありますか?
@ sapierens
TSでthis.scroll = document.getElementById('main_content');
<perfect-scrollbar id="main_content">
<div class="content d-flex flex-wrap" style="position: relative" #sc>
<div class="brick" *ngFor="let employee of employees">
<div class="employeeBox animated zoomIn " [routerLink]="['/employees', employee.id]">
<div class="employeePhoto">
<img [defaultImage]="'assets/icons/user.svg'"
[lazyLoad]="employee.imgUrl"
[useSrcset]="true"
[scrollTarget]="scroll"
>
</div>
<div class="employeeInfo">
<p>{{employee.name}}</p>
</div>
</div>
</div>
</div>
</perfect-scrollbar>
完全なスクロールバーをオーバーフロー自動でdivに変更し、期待どおりに機能しますが、完全なスクロールバーを維持したいと思います。 だから私がしたことは:
this.scrollをコンソールするとき
<perfect-scrollbar id="main_content" >
<div style="position:static" class="ps" ng-reflect-disabled=false> ... </div>
</perfect-scrollbar>
したがって、this.scrollをdocument.getElementById( 'main_content')。children [0]に割り当てることによって; 問題は完全に解決されました。
手伝ってくれてありがとう。
perfect-scrollbar
たことはありませんが、テンプレートでthis.perfectScrollbar$ = Observable.fromEvent(document.getElementById('main_content'), 'ps-scroll-y')
を使用できると思います。
<img [defaultImage]="'assets/icons/user.svg'"
[lazyLoad]="employee.imgUrl"
[useSrcset]="true"
[scrollObservable]="perfectScrollbar$">
@tjoskar残念ながらそれはうまく
唯一の一時的な解決策は、scrollTargetをに割り当てることですdocument.getElementById('main_content').children[0];
問題を再現できる小さなgitrepo / stackblitz / plnkrを作成できますか?
さて、すぐにstackblitzに追加して、ここで共有します。
stackblitzデモをご覧ください。
https://stackblitz.com/edit/angular-wxyi2t
私はそれをこのように動作させることができました-https://stackblitz.com/edit/angular-zovu45
それが最善の解決策かどうかはわかりませんが。
https://github.com/tjoskar/ng-lazyload-image/issues/275#issuecomment -356853681で提案されている@tjoskarのように解決することもできますが、ディレクティブとして代わりにperfect-scrollbarを使用する必要があります。それが機能するためのコンポーネント(https://github.com/zefoy/ngx-perfect-scrollbar#installing-and-usage under DIRECTIVE USAGE )。
@sapierensはいそれも機能します。 私はほとんどすべてのプロジェクトで完璧なスクロールバーを使用しています。 それが私がそれを機能させるために重要だった理由です。ありがとう。