2017-06-01 17 views
1
import { Component, ElementRef, Inject, AfterViewInit, Input } from '@angular/core'; 
declare var jQuery:any; 

@Component({ 
    selector: 'app-slider', 
    templateUrl: './slider.component.html', 
    styleUrls: ['./slider.component.css'] 
}) 
export class SliderComponent implements AfterViewInit { 

@Input() slideValue: number;  
elementRef: ElementRef; 
visibility = 'hidden'; 
@Input() index: number; 

constructor(@Inject(ElementRef) elementRef: ElementRef) { 
    this.elementRef = elementRef; 
} 

updSlider() { 
    jQuery(this.elementRef.nativeElement).find("#slider") 
    .slider("option", "value", this.slideValue);  
} 

ngAfterViewInit() { 
    jQuery(this.elementRef.nativeElement).find("#slider").slider({ 
    range: "min", 
    orientation: "vertical", 
    min: 0, 
    max: 300, 
    animate: true, 
    step: 1, 
    value: this.slideValue, 
    slide: (event, ui) => { 
     this.slideValue = ui.value; 
     this.visibility = "visible"; 
     jQuery(this.elementRef.nativeElement).find(".ui-slider-range").css({"background": "#FFFFcc"}); 
    } 
    }); 
} 

    ngOnInit() { 
    } 

} 

slider.component.ts私は私のメインコンポーネントからそれを呼ば角度4:jqueryのスライダーは、コンポーネントに

を使用して機能ではありません。

thowing jquery.sliderは機能ではありません。

ERRORエラー:キャッチされない(約束で):TypeError例外:jQueryの(...)(...)を見つけるスライダーは、私はまた、通常のjqueryのスライダーを試してみまし機能

ではありません。ここにも同じ問題があります。そこで、以下の例のangular2コンポーネントを試しました。

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

私は同じ問題を得ました。この上の任意のヘルプを理解することができる

4の角度であるWebPACKのバージョンを使用して

イム。

+0

あなたが提供したプランナーコードにエラーはありません。 – Tamas

+0

それはうまく動作します。しかし、私のサーバーで実行するためにunbale。 – user2215155

答えて

0

あなたは角度-CLIを使用する場合:

角度-cli.json:あなたはjQueryのUIスライダーを使用している

"scripts": [ 
      "../path/jquery-ui-slider.js" 
    ], 

を:

import '../../../path/jquery-ui-slider.js'; 

はそれが役に立てば幸いそれがどうなるか教えてください!

幸運な仲間! ;)

+0

働いていただきありがとうございました... – user2215155

+0

@ user2215155私はあなたの問題を解決することができてうれしいです!それが正解であれば、そのようにマークして、人々がそれを認識して同様の問題を解決しようとするようにしてください。良い一日! ;) – SrAxi