cari

Rumah  >  Soal Jawab  >  teks badan

laravel - cara vue-router memuatkan laluan secara tidak segerak

Pergantungan kebenaran pengguna projek semasa:

Oleh kerana kebenaran adalah rumit, jika laluan dikodkan keras di bahagian hadapan, maka pekerja biasa perlu memuatkan ratusan atau bahkan ribuan laluan dan komponen yang sepadan selepas log masuk.

  1. Isu prestasi

  2. Pengesahan kebenaran diperlukan pada kedua-dua hujung depan dan belakang. Memikirkan perkara ini membuat saya sakit kepala

  3. Berdasarkan dua pertimbangan ini, kami memutuskan untuk menulis laluan dalam pangkalan data, dan kemudian bahagian belakang memperuntukkan laluan secara dinamik ke bahagian hadapan untuk dimuatkan berdasarkan kebenaran pengguna yang log masuk.

Tetapi apabila saya menggunakan ajax untuk meminta di bahagian hadapan, saya mendapati bahawa data penghalaan sentiasa diminta dari latar belakang selepas permulaan vue selesai (iaitu, laluan telah dimuatkan)

Kod yang diminta diletakkan sama dalam main.js dan sebelumCipta kitaran hayat vue

const routes = [];

const router = new VueRouter({
    mode: 'history',
    linkActiveClass: 'active',
    routes
})

const app = new Vue({
    router,
    el: '#app',
    data: routes,
    template: '<App/>',
    components: { App },
    created: function () {
        const self = this
        axios.get('https://service.it/api/routes')
            .then(function (response) {
                self.routes = response.data;
            })
            .catch(function (error) {
                console.log(error)
            })
    }
})

Sila tanya guru bahagian hadapan untuk jawapan!

PHPzPHPz2752 hari yang lalu823

membalas semua(2)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-16 16:50:20

    vue-router@2.2.0 bermula, router.addRoute(routes)tambah laluan secara dinamik

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-16 16:50:20

    Gunakan axios untuk meminta konfigurasi penghalaan terlebih dahulu melalui ajax dan kemudian mulakan entiti vue

    balas
    0
  • Batalbalas