ホームページ  >  記事  >  ウェブフロントエンド  >  プロジェクトでbetter-scrollプラグインを使用する方法

プロジェクトでbetter-scrollプラグインを使用する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-06-13 15:34:442998ブラウズ

今回は、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 サイトの他の関連記事に注目してください。

推奨読書:

JSON形式を使用してPOSTリクエストを送信する方法

Vue.jsでログインフォームコードをカスタマイズする方法

以上がプロジェクトでbetter-scrollプラグインを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。