最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年04月23日 10:54:59   作者:Piconjo_Official  
這篇文章主要介紹了在Vue中通過vue-router實(shí)現(xiàn)命名視圖,本文給大家提到了vue-router的原理解析,給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

在路由對象中 使用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)境中這一功能的實(shí)現(xiàn)主要有2種方式,Hash模式和History模式:

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

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

1、Hash模式: 

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

2、History模式: 

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

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

但當(dāng)用戶直接在用戶欄輸入地址并帶有參數(shù)時(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 依賴的頁面。 

給個警告,因?yàn)檫@么做以后,你的服務(wù)器就不再返回 404 錯誤頁面,因?yàn)閷τ谒新窂蕉紩祷?index.html 文件。為了避免這種情況,你應(yīng)該在 Vue 應(yīng)用里面覆蓋所有的路由情況,然后在給出一個 404 頁面?;蛘?,如果你使用 Node.js 服務(wù)器,你可以用服務(wù)端路由匹配到來的 URL,并在沒有匹配到路由的時(shí)候返回 404,以實(shí)現(xiàn)回退。

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

相關(guān)文章

  • vue路由傳參 router-link和編程式傳參方式

    vue路由傳參 router-link和編程式傳參方式

    這篇文章主要介紹了vue路由傳參 router-link和編程式傳參方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中使用echarts的方法實(shí)例詳解

    vue中使用echarts的方法實(shí)例詳解

    這篇文章主要介紹了vue中使用echarts的方法,結(jié)合實(shí)例形式詳細(xì)分析了vue中使用echarts的包安裝、引入、生命周期函數(shù)元素掛載等相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2023-05-05
  • vue項(xiàng)目不能使用localhost訪問的解決

    vue項(xiàng)目不能使用localhost訪問的解決

    這篇文章主要介紹了vue項(xiàng)目不能使用localhost訪問的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)代碼示例

    Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)代碼示例

    在Vue.js開發(fā)中我們經(jīng)常會遇到需要將數(shù)字格式化為保留兩位小數(shù)的情況,下面這篇文章主要給大家介紹了關(guān)于Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • Vue3中使用pnpm搭建monorepo開發(fā)環(huán)境

    Vue3中使用pnpm搭建monorepo開發(fā)環(huán)境

    這篇文章主要為大家介紹了Vue3中使用pnpm搭建monorepo開發(fā)環(huán)境示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • vue引入Excel表格插件的方法

    vue引入Excel表格插件的方法

    這篇文章主要為大家詳細(xì)介紹了vue引入Excel表格插件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 基于Vue 和 iView分片上傳功能實(shí)現(xiàn)(上傳組件)

    基于Vue 和 iView分片上傳功能實(shí)現(xiàn)(上傳組件)

    本文介紹了基于Vue和iView的文件分片上傳技術(shù),通過將文件拆分成多個小塊并逐塊上傳,解決了大文件上傳時(shí)的諸多問題,如上傳速度慢、超時(shí)和網(wǎng)絡(luò)中斷等,它還展示了如何實(shí)現(xiàn)分片上傳的進(jìn)度顯示、錯誤處理和斷點(diǎn)續(xù)傳等功能,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • vue-cli 構(gòu)建骨架屏的方法示例

    vue-cli 構(gòu)建骨架屏的方法示例

    這篇文章主要介紹了vue-cli 構(gòu)建骨架屏的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue3自定義drag指令詳解

    Vue3自定義drag指令詳解

    這篇文章主要為大家詳細(xì)介紹了Vue3自定義drag指令的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Element Plus實(shí)現(xiàn)Affix 固釘

    Element Plus實(shí)現(xiàn)Affix 固釘

    本文主要介紹了Element Plus實(shí)現(xiàn)Affix 固釘,Affix組件用于將頁面元素固定在特定可視區(qū)域,文中通過示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論

新郑市| 大余县| 平阳县| 岐山县| 舒兰市| 绍兴县| 尚志市| 太湖县| 江阴市| 滨州市| 曲麻莱县| 吴忠市| 澎湖县| 定远县| 临颍县| 武胜县| 天全县| 名山县| 罗江县| 泗水县| 太康县| 韶关市| 文成县| 通州区| 九龙城区| 福海县| 巫溪县| 鄂托克前旗| 贵州省| 攀枝花市| 汾西县| 福安市| 图们市| 德兴市| 徐水县| 富平县| 荔波县| 伊春市| 金乡县| 鄂托克旗| 寿宁县|