1. 程式人生 > >vue 路由(複習,延伸) sd

vue 路由(複習,延伸) sd

Vue 的路由

後端路由 -> 路由 -> (地址->/add / /2.html)

通過地址告訴後端要幹什麼。

後端路由的問題:

  1.切換頁面的時候是跳全域性重新整理頁面(使用者體驗極差)

  2.A頁面的靜態資源和B頁面的靜態資源會重複請求 這就是伺服器渲染->SSR。利於爬蟲搜尋(SEO優化),對伺服器的壓力大,建議用於首頁渲染,別的還是走ajax


前端路由:(vue的路由)

  / -> index

  /2.html -> 2.html

通過不同的路由切換,幹不同的事或者切換不同的頁面

優勢

  使用者所有的操作都在一個頁面完成,單頁應用(spa)。 既然是一個頁面,共享資源只需要請求一次即可

vue路由安裝兩種方式

    第一種:vue create app(自動配)

    第二種:(自己配)

      1)安裝 npm install vue-router

      2)引包 import Vue from 'vue'

            import VueRouter from 'vue-router'

      3)使用 Vue.use(VueRouter)

      4)配置 

const routes = [
    {
        path:'/',
        component:元件
    },
    {
        path:
'/', component:元件 } ] new Vuerouter({ routes });

      5)放到根下 

new Vue({
    el:'#app',
    render:()=>h,
    routes
})

      6)渲染 <router-view></router-view>

  (hash路由-> #/... 不會重新整理頁面)

  (history路由 /... 長的和後端路由一樣的`前端路由`,同樣不會重新整理頁面)

 

子路由

  如果有子路由,在原路由上掛一個children屬性,children為一個數組,陣列下又包一些物件,物件的path不要加 ' / '

{
    path:'/',
    component:app,
    children:[
        {
            path:'a',
            component:aaa
        }
    ]
}

  有子級路由,那麼記得在父級身上加上< router-view>< /router-view> 此時元件就會在父級的元件上顯示。不管多少層都遵循這個規律。

  解決啟用狀態切換時加不了事件的問題:使用.native

    比如:@click.`native`="xxx(..)"

  如果要在重新整理頁面的時候通過路由的資訊來操作資料,可以在created下使用this.$route這個的屬性

  this.$route 存著一些與路由相關的資訊 常用的: