2017-04-11 17 views
0

問題 - 私は別のインスタンスslick sliderを持っています。angular-cli:jQueryを使用して要素を参照する方法

例えば:私はここに私のコンストラクタの内部での私のプライベートel変数に変数を設定するにはどうすればよい

- 私はここでやっているようにツリー全体を検索するのではなく、jqueryを使って要素に直接参照する方法はありますか?

jQuery(this.el.nativeElement).variable.slick({..

import { Component, ElementRef, ViewChild, HostListener, Input, Renderer, OnInit } from '@angular/core'; 
import { WindowRefService } from 'app/core/window-ref.provider'; 

declare var jQuery: any; 

@Component({ 
    moduleId: module.id, 
    selector: 'app-preview', 
    templateUrl: 'app-preview.component.html' 
}) 

export class AppPreviewComponent implements OnInit { 

    constructor(private el: ElementRef) { } 

    ngOnInit() { 
     jQuery(this.el.nativeElement).slick({ 
      infinite: false, 
      arrows: true, 
      variableWidth: true, 
      centerMode: true, 
      dots: false, 
      focusOnSelect: true, 
      cssEase: 'ease-in-out' 
     }); 
    } 
} 

答えて

0

管理者が解決策を検出しました。最も単純な形で。それが何だった

私はこれがために必要なものを
jQuery(this.el.nativeElement).slick({ 
    ... 
}); 

(とそれが動作する):

jQuery('app-preview').slick({ 
    ... 
}); 
1

私はあなたのjQuery.slick()プラグインが何であるか全くわからないんだけど、Angular2部に:

あなたが(ないngAfterViewInit()方法でこれを入れて検討する必要がありますこれは、HTMLがロードされたライフサイクルで発生するため、部分をimplementsに追加することを忘れないでください)。

Angular2の一部であるViewChild()を検索すると面白いかもしれません。

ViewChild('some-id') variableName: ElementRef

とあなたのHTML内:

<blabla #some-id></blabla>

あなたはその後、this.variableNameにあなたのコントローラ内のアクセスあなたは、文字列にjQueryのプラグインのような他の機能を、持っていますそれはちょっと、このようになります。

+0

このビヨンのためにありがとうございましたが、私は単純にjQueryの最も単純な形に言及していましたオブジェクト参照。私はこの周りに自分の道を見つけたと思う。 – snkv

関連する問題