2016-04-29 33 views
7

私はPerfect Scrollbarを使用しましたが、次にAngular 2を使い始めましたが、同様の追加は見つかりませんでした。 Angular 2プロジェクトで完璧なスクロールバーを実装する正しい方法は何でしょうか?あなたがいるので(バニラJSでカスタムディレクティブ内の完璧なスクロールバーを初期化することができ、私はthis great exampleに従ったが、私は一種、Aこの=>Angular2スクロール可能なコンテンツ

$(function() { 
    $('#Demo').perfectScrollbar(); 

答えて

6

ngOnInit()

jQuery(this.elementRef.nativeElement).draggable({containment:'#draggable-parent'}); 

に変更する方法を失ってい

それはこのようにそれを;-))をサポートします

import Ps from 'perfect-scrollable'; 

@Directive({ 
    selector: '[ps]' 
}) 
export class PsDirective { 
    constructor(private elementRef:ElementRef) { 
    } 

    ngAfterViewInit() { 
    Ps.initialize(this.elementRef.nativeElement); 
    } 
} 

https://plnkr.co/edit/S8DJpHFVNFioklTl1xg6?p=preview

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.perfect-scrollbar/0.6.11/css/perfect-scrollbar.min.css"/> 

<script> 
    System.config({ 
    transpiler: 'typescript', 
    typescriptOptions: { emitDecoratorMetadata: true }, 
    map: { 
     'perfect-scrollable': 'https://cdnjs.cloudflare.com/ajax/libs/jquery.perfect-scrollbar/0.6.11/js/min/perfect-scrollbar.min.js' 
    }, 
    packages: { 
     'app': { 
     defaultExtension: 'ts' 
     } 
    } 
    }); 
    System.import('app/main') 
     .then(null, console.error.bind(console)); 
</script> 

このplunkrを参照してください。

@Component({ 
    selector: 'app' 
    template: ` 
    <div ps class="container"> 
     <div class="content"></div> 
    </div> 
    `, 
    styles: [` 
    .content { 
     background-image: url('https://noraesae.github.io/perfect-scrollbar/azusa.jpg'); 
     width: 1280px; 
     height: 720px; 
    } 

    .container { 
     position: relative; 
     margin: 0px auto; 
     padding: 0px; 
     width: 600px; 
     height: 400px; 
    } 
    `], 
    directives: [ PsDirective ] 
}) 
export class App { 
} 

ライブラリがこの方法(CSSとSystemJS)前に設定されている必要があります:あなたはこのようにそれを適用する/使用することができます。このdiv要素の側ですべてが ドラッグ可能とありますので、私はdiv要素に「ドラッグ・スクロール」を適用しています

<style> 
    .demo-one { 
    height: 260px; 
    background-color: #FFFFFF; 
    } 
</style> 

<div drag-scroll drag-scroll-y-disabled="true" scrollbar-hidden="true" > 
    <img *ngFor="let image of imagelist" [src]="'assets/img/' + image" /> 
</div> 

+1

こんにちは、私はそれを試してみましたが、完璧な-スクロールバーはあなたが完璧なのためのタイプ定義ファイルを書き込むことができますいずれか – axcl

+0

デフォルトの輸出を持っていないと言っています-scrollbarを使用するか、コンテンツのスクロールをドラッグするAngular2ライブラリである[Angular2-drag-scroll](https://github.com/bfwg/angular2-drag-scroll)を使用できます。 –

0

Angular2-drag-scrollあなたは

使用例を探しているライブラリです属性のオーバーフロー:スクロールなど

"drag-scroll-y-disabled"をtrueに設定すると、y軸のスクロール/ドラッグが無効になります。

"scrollbar-hidden"をtrueに設定すると、スクロールバーが非表示になります。

Scroll

Githubのページ:https://github.com/bfwg/angular2-drag-scroll

デモサイト:https://bfwg.github.io/angular2-drag-scroll/

+0

これは角4で非推奨です。 –

+1

@KrishnaKarki最新のバージョンはAngular 4と互換性があります。 –

関連する問題