ホームページ  >  記事  >  ウェブフロントエンド  >  Angular_AngularJS でのより良いスクロール プラグインの使用方法

Angular_AngularJS でのより良いスクロール プラグインの使用方法

亚连
亚连オリジナル
2018-05-28 17:23:191563ブラウズ

この記事では、Angular での 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 &#39;@angular/core&#39;;
declare let BScroll;
@Component({
 selector: &#39;app-listscroll&#39;,
 templateUrl: &#39;./listscroll.component.html&#39;,
 styleUrls: [&#39;./listscroll.component.css&#39;]
})
export class ListscrollComponent implements OnInit {

 @ViewChild(&#39;scroll&#39;) 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>

上記は、将来皆さんのお役に立てれば幸いです。

関連記事:

ライブラリ(フレームワーク)を使わずに自分でAjaxを書く簡単な紹介

Ajaxリクエスト結果に対するIEのキャッシュ問題の簡単な分析

403エラーを解決する方法Django は ajax 投稿データを使用します

以上がAngular_AngularJS でのより良いスクロール プラグインの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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