Vue Router+Vuex实现后退状态保存
这次给大家带来Vue Router+Vuex实现后退状态保存,Vue Router+Vuex实现后退状态保存的注意事项有哪些,下面就是实战案例,一起来看一下。
不好意思,标题比较啰嗦,因为这次的流水账确实属于一个比较细节的小东西,下面详细讲:
1需求
最近在使用electron-vue 开发一个跨平台的桌面端软件,刚上手写了几个页面,遇到一个问题:桌面端软件通常会有导航需求
点击返回按钮,返回上一页,并且显示上页内容。其实不止App,即使普通的网页中也会有此类需求,尤其是使用vue写SPA时。
项目中的导航几乎都是采用router.push({name: 'xxx', params: {xxx:123...}})这种方式。这种方式导致的一个直接问题是:当点击后退按钮(调用 router.go(-1))时,history中只保存了URL而丢失了params对象,进而导致依赖params的页面渲染异常。
2 解决
其实思路很简单,既然是在后退操作中丢失了params,那么我们自然会想到:如何保存一下params!没错,就是这么粗暴,你既然要丢,我就把你保存一下!
怎么存: 其实想都不用想这是一个跨组件通信问题拉,所以很自然的,用Vuex保存是最合乎常理的咯!
什么时候存:第一反应,调用 router.push({name: 'xxx', params: {xxx:123...}})时保存,然后如果导航回到这个URL,如果没有params,尝试从vuex store里取。似乎没错,就是麻烦了点儿!!别慌,咱们有导航钩子 router.beforeEach((to, from, next) => { // ... }) 啊!
正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。
说到这儿,你应该完全明白我的解决思路了,那下面废话就不多说了,上代码:
/* Vuex store 定义存储对象RouterParams */ //... const state = { //定义一个存储map,key:导航name,value:导航params paramMap: {} } const mutations = { REFRESHPARAM (state, paramKV) { //mutation,应该能看懂做的操作吧? Vue.set(state.paramMap, paramKV.key, paramKV.value) } } //...
/* router中设置一个全局导航钩子 */ const router = new VueRouter({ ... }) //router router.beforeEach((to, from, next) => { // 只有在找不到params时才"出此下策" if (Object.keys(to.params).length === 0) { // 从store中取出付给params,此处注意路径未必完全吻合,以你的为准 Object.assign(to.params, store.state.RouterParams.paramMap[to.name] || {}) } // 存储一下params备用 store.commit('REFRESHPARAM', {key: to.name, value: to.params}) next() // 千万不要忘了,否则导航会被“掐死”在这儿。:-D }) //...
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci Vue Router+Vuex实现后退状态保存. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





"Status sambungan dalam mesej log peristiwa menunjukkan Tunggu Sedia: Diputuskan sambungan kerana pematuhan NIC. Ini bermakna sistem berada dalam mod siap sedia dan kad antara muka rangkaian (NIC) telah diputuskan sambungan. Walaupun ini biasanya isu rangkaian, tetapi ia boleh juga disebabkan oleh konflik perisian dan perkakasan Dalam perbincangan berikut, kita akan meneroka cara menyelesaikan masalah ini "Apakah punca sambungan siap sedia?" pematuhan NIC? Jika anda melihat mesej "ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance" dalam Windows Event Viewer, ini menunjukkan bahawa mungkin terdapat masalah dengan NIC atau pengawal antara muka rangkaian anda. Keadaan ini biasanya

Xiaohongshu mempunyai kandungan yang kaya yang semua orang boleh lihat secara bebas di sini, supaya anda boleh menggunakan perisian ini untuk menghilangkan kebosanan setiap hari dan membantu diri sendiri Dalam proses menggunakan perisian ini, anda kadang-kadang akan melihat pelbagai perkara yang indah. tetapi gambar yang disimpan mempunyai tera air, yang sangat berpengaruh Semua orang ingin tahu cara menyimpan gambar tanpa tanda air di sini saya akan memberikan anda kaedah untuk mereka yang memerlukannya. 1. Klik "..." di penjuru kanan sebelah atas gambar untuk menyalin pautan 2. Buka applet WeChat 3. Cari perpustakaan keledek dalam applet WeChat 4. Masukkan perpustakaan keledek dan sahkan untuk mendapatkan pautan 5. Dapatkan gambar dan simpan ke album telefon bimbit

Bagaimana untuk mengendalikan pemampatan imej semasa menyimpan imej jauh menggunakan PHP? Dalam pembangunan sebenar, kita selalunya perlu mendapatkan imej daripada rangkaian dan menyimpannya ke pelayan tempatan. Walau bagaimanapun, sesetengah imej jauh mungkin terlalu besar, yang memerlukan kami memampatkannya untuk mengurangkan ruang storan dan meningkatkan kelajuan pemuatan. PHP menyediakan beberapa sambungan berkuasa untuk mengendalikan pemampatan imej, yang paling biasa digunakan ialah perpustakaan GD dan perpustakaan Imagick. Pustaka GD ialah perpustakaan pemprosesan imej popular yang menyediakan banyak fungsi untuk mencipta, mengedit dan menyimpan imej. Berikut adalah kegunaan

Momo, platform sosial yang terkenal, menyediakan pengguna dengan pelbagai perkhidmatan berfungsi untuk interaksi sosial harian mereka. Pada Momo, pengguna boleh berkongsi status hidup mereka dengan mudah, berkawan, berbual, dsb. Antaranya, fungsi status tetapan membolehkan pengguna menunjukkan mood dan status semasa mereka kepada orang lain, sekali gus menarik perhatian dan komunikasi lebih ramai orang. Jadi bagaimana untuk menetapkan status Momo anda sendiri Perkara berikut akan memberi anda pengenalan terperinci! Bagaimana untuk menetapkan status pada Momo? 1. Buka Momo, klik Lagi di penjuru kanan sebelah bawah, cari dan klik Status Harian. 2. Pilih status. 3. Status tetapan akan dipaparkan.

1. Buka apl Douyin, cari video yang anda ingin muat turun dan simpan, dan klik butang [Kongsi] di sudut kanan bawah. 2. Dalam tetingkap pop timbul yang muncul, luncurkan butang fungsi dalam baris kedua ke kanan, cari dan klik [Save Local]. 3. Tetingkap pop timbul baharu akan muncul pada masa ini, dan pengguna boleh melihat kemajuan muat turun video dan menunggu muat turun selesai. 4. Selepas muat turun selesai, akan ada gesaan [Disimpan, sila pergi ke album untuk melihat], supaya video yang baru dimuat turun akan berjaya disimpan ke album telefon mudah alih pengguna.

Kaedah untuk melihat status pelayan termasuk alat baris arahan, alat antara muka grafik, alat pemantauan, fail log dan alat pengurusan jauh. Pengenalan terperinci: 1. Gunakan alat baris arahan Pada pelayan Linux atau Unix, anda boleh menggunakan alat baris arahan untuk melihat status pelayan 2. Gunakan alat antara muka grafik untuk sistem pengendalian pelayan dengan antara muka grafik disediakan oleh sistem Gunakan alat antara muka untuk melihat status pelayan 3. Gunakan alat pemantauan Anda boleh menggunakan alat pemantauan khas untuk memantau status pelayan, dsb.

Ingin kelihatan "luar talian" atau tidak mahu berkongsi status semasa anda dengan rakan anda di WhatsApp? Terdapat helah yang mudah tetapi bijak untuk melakukan ini. Anda boleh melaraskan tetapan WhatsApp anda supaya status semasa anda (luar talian atau kali terakhir dilihat) tidak kelihatan kepada rakan anda atau orang lain di sana. Bagaimana untuk menunjukkan status luar talian pada bar status WhatsApp anda? Ini adalah proses yang sangat mudah dan diperkemas. Jadi, ikuti langkah di bawah sekarang. Langkah 1 – Buka WhatsApp pada telefon anda. Langkah 2 – Ketik ⋮ dan pilih untuk membuka Tetapan. Langkah 3 – Buka tetapan Privasi untuk mengaksesnya. Langkah 4 – Pada halaman privasi itu, buka tetapan "Dilihat & Dalam Talian Terakhir" untuk mengaksesnya. Langkah 5 – Tukar “Siapa yang boleh

Akaun video ialah aplikasi video pendek popular yang membolehkan pengguna merakam, mengedit dan berkongsi video mereka sendiri. Walau bagaimanapun, kadangkala kita mungkin ingin menyimpan video yang menarik ini ke album foto kita supaya kita boleh melihatnya semula apabila diperlukan. Jadi, seterusnya saya akan kongsikan beberapa kaedah untuk mengajar anda cara menyimpan video akaun video tersebut ke dalam album. Video boleh disimpan melalui fungsi terbina dalam aplikasi Nombor Video. Buka apl dan cari video yang ingin anda simpan. Klik ikon pilihan di sudut kanan bawah video, menu akan muncul, pilih "Simpan ke Album". Ini akan menyimpan video ke album foto telefon anda. Kaedah kedua ialah menyimpan video dengan mengambil tangkapan skrin. Kaedah ini agak mudah, tetapi imej yang disimpan akan mengandungi elemen seperti bar kawalan video, yang tidak cukup tulen. awak
