亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Vue中通過vue-router實現(xiàn)命名視圖的問題

瀏覽:6日期:2023-01-25 10:16:20

在用vue-router路由處理一些需求的時候 例如 有時需要同時同級展示多個組件 而不是嵌套展示例如:創(chuàng)建一個布局 有側(cè)導(dǎo)航和主內(nèi)容兩個視圖 此時命名視圖就派上用場了

在路由對象中 使用components屬性 以使一個路徑下可掛載多個子組件:之后即可為每個要展示的組件指定一個名字默認(rèn)name為default 即 不設(shè)置名字

<script> var header={ template:'<h1>頭部</h1>' } var leftBox={ template:'<h1>左側(cè)邊欄</h1>' } var mainBox={ template:'<h1>主體</h1>' } // 創(chuàng)建路由對象 var router=new VueRouter({ routes:[ // 使用components屬性 一個路徑下掛載多個子組件 {path:'/',components:{ // 默認(rèn)展示的組件 'default':header, // 為組件命名 'left':leftBox, 'main':mainBox }} ] }) var vm=new Vue({ el:’#app’, data:{}, methods:{}, // 掛載路由對象 router });</script>

然后 在頁面中使用<router-view>標(biāo)簽進(jìn)行展示 在標(biāo)簽上指定name若指定了name 那么該<router-view>只能放指定name的組件

<div id='app'><!-- 不指定name 則使用默認(rèn)(default)的組件 --><router-view></router-view><!-- 為<router-view>指定name 該<router-view>只能放指定name的組件 --><router-view name='left'></router-view><router-view name='main'></router-view></div>

ps:下面介紹下vue-router的原理

更新視圖但不重新請求頁面,是前端路由原理的核心之一,目前在瀏覽器環(huán)境中這一功能的實現(xiàn)主要有2種方式,Hash模式和History模式:

(1)利用URL中的hash('#');

(2)利用History interface在HTML5中新增的方法;

1、Hash模式:

hash(#)是URL 的錨點,代表的是網(wǎng)頁中的一個位置,單單改變#后的部分,瀏覽器只會滾動到相應(yīng)位置,不會重新加載網(wǎng)頁,也就是說 #是用來指導(dǎo)瀏覽器動作的,對服務(wù)器端完全無用,HTTP請求中也不會不包括#;同時每一次改變#后的部分,都會在瀏覽器的訪問歷史中增加一個記錄,使用”后退”按鈕,就可以回到上一個位置;

2、History模式:

HTML5 History API提供了一種功能,能讓開發(fā)人員在不刷新整個頁面的情況下修改站點的URL,就是利用 history.pushState API 來完成 URL 跳轉(zhuǎn)而無須重新加載頁面;

通常情況下,我們會選擇使用History模式,原因就是Hash模式下URL帶著‘#’會顯得不美觀;但實際上,這樣選擇一不小心也會出問題;比如:

但當(dāng)用戶直接在用戶欄輸入地址并帶有參數(shù)時: Hash模式:xxx.com/#/id=5 請求地址為 xxx.com,沒有問題; History模式: xxx.com/id=5 請求地址為 xxx.com/id=5,如果后端沒有對應(yīng)的路由處理,就會返回404錯誤;

為解決這一問題,vue-router提供的方法是:

在服務(wù)端增加一個覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態(tài)資源,則應(yīng)該返回同一個 index.html 頁面,這個頁面就是你 app 依賴的頁面。

給個警告,因為這么做以后,你的服務(wù)器就不再返回 404 錯誤頁面,因為對于所有路徑都會返回 index.html 文件。為了避免這種情況,你應(yīng)該在 Vue 應(yīng)用里面覆蓋所有的路由情況,然后在給出一個 404 頁面。或者,如果你使用 Node.js 服務(wù)器,你可以用服務(wù)端路由匹配到來的 URL,并在沒有匹配到路由的時候返回 404,以實現(xiàn)回退。

到此這篇關(guān)于Vue中通過vue-router實現(xiàn)命名視圖的問題的文章就介紹到這了,更多相關(guān)vue vue-router命名視圖內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产精品高清一区二区 | 免费国产成人高清在线观看视频 | 国产产一区二区三区久久毛片国语 | 国产精品视频在线观看 | 国产日产欧美一区二区三区 | 日韩在线视频免费看 | 丁香激情综合 | 精品视频福利 | 97菊爱网| 免费岛国片 | 男人狂躁女人下面视频免费观看 | 美国免费高清一级毛片 | 欧美线人一区二区三区 | 久草在线免费资源站 | 国产农村妇女一级毛片视频片 | 亚州一级| 高清成年美女xx免费网站黄 | 手机看片高清国产日韩片 | 情侣网站 在线播放 | 亚洲高清在线观看播放 | 伊人精品在线 | 毛片在线看免费版 | 国产dvd毛片在线视频 | 国产成人免费高清视频网址 | 国产一区二区影院 | 国产香蕉在线视频 | 一区二区三区免费在线视频 | 成人99国产精品一级毛片 | 欧美一级亚洲一级 | 久久精品网站免费观看 | 老年人一级特黄aa大片 | 久久久久亚洲国产 | 欧美在线网站 | 欧美特级特黄a大片免费 | 欧美精品在线观看 | 国产精品喷水在线观看 | 日本免费新一区二区三区 | 香港三级理论在线影院 | 91免费视频版 | 国产爽视频 | 日韩欧美精品综合久久 |