Angular.js: Angular harus menyediakan cara untuk menggulir ke elemen tertentu pada halaman

Dibuat pada 1 Nov 2010  ·  10Komentar  ·  Sumber: angular/angular.js

Pengidentifikasi fragmen (hash) biasanya digunakan untuk menautkan ke tempat tertentu di halaman yang panjang. Ini tidak berfungsi dengan sudut karena hash digunakan untuk mengimplementasikan rute. Cara untuk menggulir halaman ke bawah ke elemen tertentu harus disediakan.

feature

Semua 10 komentar

Ya, dan kemudian, kita harus menggunakannya dengan $location - seperti sekarang, kita juga mendukung hash, jadi setiap kali $location.hash() berubah, kita harus menggulir ke sana...

Ini sudah dilaksanakan. Jika $location beroperasi dalam mode html5 maka buat saja tautan href="#anchor"

Maaf menabrak itu, tetapi bagaimana jika kita tidak dalam mode html5? lihat dua biola ini untuk referensi:
http://jsfiddle.net/gabrielstuff/SdGnR/ yang menggunakan router dan memutus tautan jangkar.
dan yang satu ini
http://jsfiddle.net/gabrielstuff/nYxFg/ yang tidak menggunakan router apa pun dan memungkinkan untuk melompati halaman yang sama dengan benar.

Juga tidak mencoba dengan HTML5 tidak banyak membantu (tapi ini tiket lain)

Saya memiliki masalah yang sama. Saya tidak dalam mode html5. Bagaimana ini bekerja dalam mode hashbang?

Saya setuju perilaku ini sangat tidak terduga. Bahkan jika seseorang tidak menggunakan mode HTML5, Angular tidak boleh merusak perilaku yang diharapkan ini saat menggunakan hash dengan jangkar.

Seperti yang saya pahami, Angular seharusnya mengabaikan tautan apa pun dengan hash eksplisit di dalamnya. Jika kita tidak menggunakan HTML5, tautan <a href="/something"... akan secara otomatis ditulis ulang sebagai /#/something (kecuali saya menargetkan _self ). Jadi <a href="#something" bisa dibilang harus selalu pergi ke /#something

+1

Saya pikir Anda harus menggunakan anchorScroll untuk melakukan itu.

Hanya ingin tahu @IgorMinar, bisakah kami mendapatkan komentar tentang apakah masalah ini akan diperbaiki atau tidak? Orang dapat berargumen bahwa itu tidak perlu didasarkan pada browser usang yang tidak didukung sepenuhnya, tetapi saya pikir jawaban yang jelas tentang apakah tautan jangkar harus berfungsi dengan browser yang tidak mendukung API riwayat atau tidak.

Saya mendapatkan masalah, jika saya di #/route1 maka sulit untuk berada di #/route1#anchor. Peretasan yang disebutkan di sini ( http://www.benlesh.com/2013/02/angular-js-scrolling-to-element-by-id.html ) tampaknya baik-baik saja, tetapi akan ideal jika ini "hanya berfungsi". Bagaimanapun jika $anchorScroll hack adalah solusinya maka mungkin baik untuk mengatakan itu dan mungkin seseorang dapat memperbarui dokumentasi untuk mencerminkan bagaimana masalah ini harus diselesaikan untuk browser yang lebih lama.

Di sini ( http://stackoverflow.com/a/15935517/2071612) adalah solusi yang brilian.

BTW, saya telah mengirimkan PR (#9596) untuk menambahkan dukungan untuk menggulir secara independen dari $location.hash() .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat