今回は、better-scroll プラグインをプロジェクトで使用する方法と、better-scroll プラグインを使用する際の注意点について説明します。以下は実際のケースです。
better-scrollの使用
無限スクロールは固定高で行う必要があるため、本来はCSS overflow-yでも可能ですが、Androidはあまりスムーズではなく硬いので、サードパーティのライブラリを使用します。 better-scrollを使用し、angularのng-contentと連携します。 Angular の ng-content は Vue のスロットに非常に似ており、一部の不確実なコンテンツが ng-content を通じて投影される可能性があります。
better-scrollのインストール
1: npm install better-scroll --save
2: タイプのインストール npm install better-scroll @types/better-scroll --save
3: angular-cliで導入
listsscroll コンポーネントの記述
公式ドキュメントによると、better-scroll には DOM 構造の要件があり、最も外側のラッパー層は固定の高さを持つ必要があり、コンテンツの内側の層はその高さに応じてサポートされます。コンテンツ。
html パート:
<p class="scroll" #scroll> <ng-content></ng-content> </p>
ng-content は
component.ts パートに投影されるコンテンツです
1: import で BScroll が導入されます
2: OnInit フックで初期化します。これは、OnInit の時点で ngFor がまだ実行は完了しているため、それを遅らせるタイマーが追加されます。
import { Component, OnInit, Input, ElementRef, ViewChild } from '@angular/core'; declare let BScroll; @Component({ selector: 'app-listscroll', templateUrl: './listscroll.component.html', styleUrls: ['./listscroll.component.css'] }) export class ListscrollComponent implements OnInit { @ViewChild('scroll') scrollEl: ElementRef; @Input() private height: number; public scroll; constructor() { } ngOnInit() { // 设置高度 this.scrollEl.nativeElement.style.height = `${this.height}px`; // 初始化 setTimeout(() => { this.scroll = new BScroll(this.scrollEl.nativeElement, {click: true}); }, 20); } }
listscroll コンポーネントを他のコンポーネントで使用する
<app-listscroll [height]="height"> <ul> <li class="item" *ngFor="let item of list; let num = index;">第{{num}}个</li> </ul> </app-listscroll>
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い内容については、PHP 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がプロジェクトでbetter-scrollプラグインを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。