Ngx-drag-scroll: Mulai ngx-drag-scroll dari indeks yang ditentukan

Dibuat pada 21 Okt 2018  ·  7Komentar  ·  Sumber: bfwg/ngx-drag-scroll

  • saya sedang mengajukan...

    • [ ] laporan bug
    • [x] permintaan fitur
    • [ ] permintaan dukungan => Harap jangan mengirimkan permintaan dukungan di sini, lihat catatan di bagian atas template ini.
  • Apakah Anda ingin meminta fitur atau melaporkan bug ?

Apakah mungkin untuk memulai dragscroll dari indeks lain selain 0?

  • Apa perilaku saat ini?
    Saat ini, dragscroll dimulai dari gambar/komponen pertama secara default.

  • Apa motivasi / kasus penggunaan untuk mengubah perilaku?
    Akan lebih baik untuk memilih indeks tempat memulai dragscroll (saat memuat).

feature request

Komentar yang paling membantu

Anda sebenarnya dapat mencapai pengaturan indeks awal dengan memanggil moveTo di blok `ngAfterViewInit. Pastikan untuk menutup panggilan dengan setTimeout(() => {...}, 0);
Sebagai contoh:

  @ViewChild('nav', {read: DragScrollComponent}) ds: DragScrollComponent;
  ngAfterViewInit() {
    setTimeout(() => {
      this.ds.moveTo(3);
    }, 0);
  }

Semua 7 komentar

Anda sebenarnya dapat mencapai pengaturan indeks awal dengan memanggil moveTo di blok `ngAfterViewInit. Pastikan untuk menutup panggilan dengan setTimeout(() => {...}, 0);
Sebagai contoh:

  @ViewChild('nav', {read: DragScrollComponent}) ds: DragScrollComponent;
  ngAfterViewInit() {
    setTimeout(() => {
      this.ds.moveTo(3);
    }, 0);
  }

sudah mencoba .., sayangnya saya mendapatkan kesalahan ini setiap kali:

core.js:1673 ERROR TypeError: Cannot read property '_elementRef' of undefined at DragScrollComponent.push../node_modules/ngx-drag-scroll/lib/ngx-drag-scroll.js.DragScrollComponent.maximumIndex (ngx-drag-scroll.js:415) at DragScrollComponent.push../node_modules/ngx-drag-scroll/lib/ngx-drag-scroll.js.DragScrollComponent.moveTo (ngx-drag-scroll.js:214) at myComponent.component.ts:141 at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421) at Object.onInvokeTask (core.js:3815) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420) at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188) at push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask (zone.js:496) at ZoneTask.invoke (zone.js:485) at timer (zone.js:2054)

Apakah Anda menelepon moveTo dalam blok ngAfterViewInit ? Metode moveTo dapat dipanggil saat elemen carousel gulir gulir terlihat di halaman.
Atau Anda dapat menambahkan sedikit penundaan dan coba lagi seperti:

    setTimeout(() => {
      this.ds.moveTo(3);
    }, 1000);

beri tahu saya jika itu berhasil.

Aku melakukannya. Tetapi dengan batas waktu 1 detik sekarang berfungsi! Terima kasih atas bantuannya, meskipun agak retas.

Hmm, tanpa melihat kodenya saya tidak tahu mengapa ngAfterViewInit tidak bekerja untuk Anda. Saya akan mengatakan gunakan setTimeout untuk saat ini sampai fitur ini keluar. Sebuah PR lebih dari diterima.

Anda sebenarnya dapat mencapai pengaturan indeks awal dengan memanggil moveTo di blok `ngAfterViewInit. Pastikan untuk menutup panggilan dengan setTimeout(() => {...}, 0);
Sebagai contoh:

  @ViewChild('nav', {read: DragScrollComponent}) ds: DragScrollComponent;
  ngAfterViewInit() {
    setTimeout(() => {
      this.ds.moveTo(3);
    }, 0);
  }

Hai tolong tambahkan fitur ini dalam dokumentasi.

jika saya menggunakan solusi ini, pengguna akan melihat animasi dengan item pertama pindah ke item tertentu.
Saya akan menyarankan di bawah ini. Apakah Anda pikir jika itu baik-baik saja?

ngAfterViewInit(){
  setTimeout(()=>{
    this.ds.currIndex = 3;
    this.ds._elementRef.nativeElement.children[0].scrollLeft = someValue;
  }, 10);
}
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

MortezaT picture MortezaT  ·  11Komentar

CrackerakiUA picture CrackerakiUA  ·  25Komentar

leogilardi6 picture leogilardi6  ·  8Komentar

BovineEnthusiast picture BovineEnthusiast  ·  5Komentar

bfwg picture bfwg  ·  8Komentar