Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menyelesaikan ralat hala semula tak terhingga Vue Router

<p>Dalam router.beforeEach, saya ingin menyemak sama ada sessionToken sudah wujud dalam storan dan jika tidak ubah hala ke halaman log masuk untuk mendapatkannya, tetapi saya mendapat ralat berikut: </p> <pre class="brush:php;toolbar:false;">Pengawal navigasi mengesan ubah hala tak terhingga apabila melompat dari "/" ke "/log masuk". Untuk mengelakkan limpahan tindanan, hentikan navigasi. Jika tidak diperbaiki, ini akan menyebabkan masalah dalam persekitaran pengeluaran. </pra> <p>Kod dalam penghala saya.js:</p> <pre class="lang-js prettyprint-override"><code>router.beforeEach((ke, dari, seterusnya) => { if(ENV == 'pembangunan') { biarkan sessionStorage = storage.sessionStorageGet('_sessionToken') jika (sessionStorage === null) seterusnya ({ nama: 'Log Masuk' }) lain seterusnya() } }) </code></pre>
P粉403821740P粉403821740391 hari yang lalu864

membalas semua(1)saya akan balas

  • P粉529245050

    P粉5292450502023-08-26 11:39:41

    const routes = [
      {
        path: '/login',
        name: 'Login',
        component: () => import('../views/login'),
        meta: {
          requiresAuth: false
        }
      },
      {
        path: '/private',
        ... private route config,
        meta: {
          requiresAuth: true
        }
      }
    ];
    
    router.beforeEach(async (to, from, next) => {
      if (ENV == 'development') {
        
        if (to.matched.some(record => record.meta.requiresAuth)) {
          const sessionStorage = storage.sessionStorageGet('_sessionToken')
      
          if (sessionStorage) {
            next();
          } else {
            router.push({ name: 'Login' });
          }
        } else {
          next();
        }
      }
    });
    

    balas
    0
  • Batalbalas