今回は、better-scroll プラグインの使い方の詳細な説明 (コード付き)、better-scroll プラグインを使用する際の 注意事項 、そして以下は実際的なケースです。見てください。
better-scroll use
無限スクロールは固定高で行う必要があるので、本来はCSSoverflow-yでも出来ますが、Androidはあまりスムーズではなく硬いので、3番目の方法を使いました。サードパーティ ライブラリの 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
listscroll コンポーネントの書き方を紹介します
公式ドキュメントによると、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>
まとめ
このように、better-scrollは使うだけで完成します もちろん、better-scrollにもたくさんの機能があります。プルアップやプルダウンの読み込み、ホイールの回転などを行います。詳しくは公式ドキュメントを参照してください。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がbetter-scrollプラグインの使い方を詳しく解説(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。