vue手寫<RouterLink/>組件實現(xiàn)demo詳解
手寫<RouterLink/>組件
上一節(jié) 手寫<RouterView/>組件
如果使用a標簽改變頁面會重新發(fā)起請求,但是我們點擊<RouterLink/>的時候不會。以下手把手實現(xiàn)一個簡單的<RouterLink/>組件。這節(jié)內容與手寫<RouterView/>組件(上一節(jié)內容)有一定的聯(lián)系,建議先看一下。
1、加上一個響應式數(shù)據
在上一節(jié)的基礎上加上一個響應式數(shù)據(把獲取當前路徑寫在了這里)。
import?About?from?'../view/About.vue'
import?Home?from?'../view/Home.vue'
import?{ref}?from?'vue'
export?default?[
????{
????????path:?'/',
????????component:?Home
????},
????{
????????path:?'/about',
????????component:?About
????}
]
//?新加內容
export?const?path?=?ref(window.location.pathname)2、對<RouterView/>組件進行簡單的改造
<template>
????<div>
????????<component?:is="view"></component>
????</div>
</template>
<script?setup>
import?{?computed?}?from?'vue'
import?Router?from?'../Router';
//?引入path這個響應式數(shù)據
import?{?path?}?from?'../Router';
const?view?=?computed(()?=>?{
??//?這里直接使用的path
???const?res?=?Router.find(item?=>?item.path?==?path.value)
???return?res.component
})
</script>
<style?lang="scss"?scoped>
</style>3、創(chuàng)建<RouterLink/>組件
內容如下:
@click.prevent阻止a標簽的默認行為,讓其被點擊時執(zhí)行push函數(shù)。push函數(shù)里執(zhí)行的就是改變path為要加載的頁面路徑。
<template>
????<div>
????????<a?:href="to" rel="external nofollow" ?@click.prevent="push">
????????????<slot></slot>
????????</a>
????</div>
</template>
<script?setup>
import?{?path?}?from?'../Router';
const?props?=?defineProps({
????to:?{type:?String,?required:?true}
})
const?push?=?()?=>?{
????path.value?=?props.to
}
</script>4、在App.vue中使用
當你點擊時不會重新請求。
<RouterLink?:to="'/'">首頁</RouterLink> <RouterLink?:to="'/about'">關于</RouterLink> <RouterView></RouterView>
以上就是vue手寫RouterLink組件實現(xiàn)demo詳解的詳細內容,更多關于vue手寫RouterLink組件的資料請關注腳本之家其它相關文章!
相關文章
vue3使用pdf.js來預覽文件的操作步驟(本地文件測試)
這篇文章主要介紹了vue3使用pdf.js來預覽文件的操作步驟(本地文件測試),文中通過代碼示例和圖文結合的方式給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-05-05
Vue中的數(shù)據監(jiān)聽和數(shù)據交互案例解析
這篇文章主要介紹了Vue中的數(shù)據監(jiān)聽和數(shù)據交互案例解析,在文章開頭部分先給大家介紹了vue中的數(shù)據監(jiān)聽事件$watch,具體代碼講解,大家可以參考下本文2017-07-07
vue.js+elementUI實現(xiàn)點擊左右箭頭切換頭像功能(類似輪播圖效果)
這篇文章主要介紹了vue.js+elementUI實現(xiàn)點擊左右箭頭切換頭像功能(類似輪播圖),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
Electron采集桌面共享和系統(tǒng)音頻(桌面捕獲)實例
這篇文章主要為大家介紹了Electron采集桌面共享和系統(tǒng)音頻(桌面捕獲)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

