成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳解vue路由

瀏覽:118日期:2022-12-16 09:55:22

前端路由和后端路由:

后端路由:對于普通的網站,所有的超鏈接都是url地址,所有url都對應服務器上對應的資源 前端路由:對于單頁面應用程序來說,主要通過url的hash(#)來實現不同頁面的切換,同時hash還有一個特點HTTP請求中不會包含hash相關的內容,所以單頁面程序中的頁面跳轉主要用hash實現

在單頁面應用程序中這種通過hash來改變頁面的方式稱作前端路由區別于后端路由

路由的使用

1.創建一個路由對象,當導入vue-router包之后,在window全局對象中就有一個路由的構造函數VueRouter

2.在new路由對象的時候可以傳遞一個配置對象,這個配置對象的route表示路由器的匹配規則

3.每個路由規則都是一個對象,這個規則對象身上必須有兩個屬性

屬性1 path表示監聽哪個路由鏈接地址 屬性2 component,表示如果路由是前面匹配到的path,則展示component屬性對應的組件,component屬性值必須是一個組件模板對象,不能是組件的引用名稱

var login={ template:’<h2>登錄</h2>’ } var register={ template:’<h2>注冊</h2>’ } var routerObj=new VueRouter({ routes:[{path:’/login’,component:login},{path:’/register’,component:register} ] })

4.router:routerObj將路由規則對象注冊到VM實例上,用來監聽URL地址的變化,然后展示對應的組件

var vm=new Vue({ el:’#div1’, data:{ }, methods:{}, router:routerObj })

5.在控制的div中使用

<router-view></router-view>

6.在搜索欄輸入對應的匹配規則,login

詳解vue路由

7.使用vue官方提供的router-link元素使用,它默認渲染為一個a標簽

<router-link to='/login'>登錄</router-link><router-link to='/register'>注冊</router-link>

路由重定向

1.設置一個默認展示組件,不推薦

{path:’/’,component:login},

2.路由redirect重定向,設置默認組件

{path:’/’,redirect:’login’},

路由傳參

1.如果使用查詢字符串 給路由傳遞參數則不需要修改路由規則的path屬性

<router-link to='/login?id=10'>登錄</router-link>

2.使用query傳遞參數

var login={ template:’<h2>登錄----{{$route.query.id}}</h2>’ }

詳解vue路由

3.通過params方式傳遞路由參數,login后面會被解析為id的值

<router-link to='/login/12'>登錄</router-link>

var login={ template:’<h2>登錄----{{$route.params.id}}</h2>’ }

{path:’/login/:id’,component:login},

路由的嵌套

使用children屬性實現路由嵌套,子路由path前不要加/,否則永遠以根路徑開始請求

<div<router-link to='/account'>account</router-link> <router-view></router-view> </div> <template id='tmp1'> <div><h2>account 組件</h2><router-link to='/account/login'>登錄</router-link><router-link to='/account/register'>注冊</router-link><router-view></router-view> </div> </template>

var router=new VueRouter({routes:[ {path:’/account’,component:account, children:[ {path:’login’,component:login}, {path:’register’,component:register} ]}] })

命名視圖

命名視圖在components(這時會多個s)后加屬性再在使用<router-view></router-view>的時候用name引入,可以使一個頁面中存在多個路由

<router-view></router-view> <router-view name='left'></router-view> <router-view name='main'></router-view>

var router=new VueRouter({routes:[ {path:’/’,components:{ default:header, left:leftBox, main:mainBox }}, ] })

以上就是詳解vue路由的詳細內容,更多關于vue路由的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章: