cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Selepas melihat butiran, halaman senarai kembali tidak kekal di tempat tontonan asal - penyelesaian kepada masalah angularJS? Minta nasihat kepada Allah

Selepas melihat butiran, halaman senarai kembali tidak kekal di tempat tontonan asal-penyelesaian kepada masalah angularJS? Minta nasihat dari Allah

黄舟黄舟2826 hari yang lalu662

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-05-15 16:55:07

    Jika halaman senarai anda adalah halaman bernombor, maka anda perlu menyimpan nombor halaman halaman yang anda sedang buka, mungkin dalam URL, kemudian apabila anda kembali, baca nombor halaman dari URL dan muatkan data itu nombor muka surat.
    Jika halaman senarai anda adalah halaman yang sangat panjang dan anda perlu kembali ke kedudukan asal, maka anda mungkin perlu mengabstrakkan perkhidmatan untuk merekodkan kedudukan pengguna pada halaman ini, dan membaca ini setiap kali anda memasuki halaman ini kemudian scrollTo lokasi itu.
    Jika halaman senarai anda tidak mempunyai penomboran dan tidak terlalu panjang, sebenarnya lebih baik untuk kembali ke bahagian atas halaman.

    Untuk halaman yang panjang:

    js// PagePosition Service
    angular.module('app').factory('PagePosition', function() {
        var _top = 0;
        var _left = 0;
    
        return {
            getPosition: function() {
                return {
                    top: _top,
                    left: _left
                }
            },
            setPosition: function(top, left) {
                _top = top;
                _left = left;
            }
        }
    });
    

    Suntikan perkhidmatan ini ke dalam paparan atau arahan yang anda perlukan, ubah suai kedudukan dalam acara tatal pengguna, baca kedudukan apabila kembali ke halaman ini dan panggil scrollTo ke kedudukan.

    Namun, saya cadangkan jika halaman itu terlalu panjang, sebaiknya paparkan senarai anda dalam halaman, kerana walaupun anda boleh kembali ke kedudukan sebelumnya apabila kembali, pengalaman pengguna agak lemah.

    balas
    0
  • Batalbalas