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

詳談vue中router-link和傳統(tǒng)a鏈接的區(qū)別

 更新時(shí)間:2020年07月22日 14:40:56   作者:saberrrrrrrr  
這篇文章主要介紹了詳談vue中router-link和傳統(tǒng)a鏈接的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Vue-router是伴隨著Vue框架出現(xiàn)的路由系統(tǒng),它也是公認(rèn)的一種優(yōu)秀的路由解決方案。在使用Vue-router時(shí)候,我們常常會(huì)使用其自帶的路徑跳轉(zhuǎn)組件Link,通過實(shí)現(xiàn)跳轉(zhuǎn),這和傳統(tǒng)的何其相似!但它們到底有什么具體的區(qū)別呢?

官方中給出的解釋是這樣的:

<router-link> 比起寫死的 <a href="..." rel="external nofollow" rel="external nofollow" > 會(huì)好一些,理由如下:

無論是 HTML5 history 模式還是 hash 模式,它的表現(xiàn)行為一致,所以,當(dāng)你要切換路由模式,或者在 IE9 降級(jí)使用 hash 模式,無須作任何變動(dòng)。

在 HTML5 history 模式下,router-link 會(huì)守衛(wèi)點(diǎn)擊事件,讓瀏覽器不再重新加載頁(yè)面。

當(dāng)你在 HTML5 history 模式下使用 base 選項(xiàng)之后,所有的 to 屬性都不需要寫 (基路徑) 了。

呃呃,只能說博主剛學(xué)時(shí)第一次并沒有看懂(應(yīng)該是之前的基礎(chǔ)知識(shí)不牢固吧,看來之后得補(bǔ)補(bǔ)啦),于是去自行查閱啦:

<a href="..." rel="external nofollow" rel="external nofollow" >

W3C中是這樣解釋a標(biāo)簽的:

<a> 標(biāo)簽定義超鏈接,用于從一張頁(yè)面鏈接到另一張頁(yè)面。

從一張頁(yè)面跳轉(zhuǎn)到另一張頁(yè)面,但從這里來說就違背了多視圖的單頁(yè)Web應(yīng)用這個(gè)概念

通過a標(biāo)簽進(jìn)行跳轉(zhuǎn),頁(yè)面會(huì)被重新渲染,即相當(dāng)于重新打開一個(gè)新的網(wǎng)頁(yè),體現(xiàn)為視覺上的“閃爍”(如果是本地的項(xiàng)目基本看不出來)

router-link

<router-link> 組件支持用戶在具有路由功能的應(yīng)用中 (點(diǎn)擊) 導(dǎo)航。 通過 to 屬性指定目標(biāo)地址,默認(rèn)渲染成帶有正確鏈接的 <a> 標(biāo)簽,可以通過配置 tag 屬性生成別的標(biāo)簽.。

通過router-link進(jìn)行跳轉(zhuǎn)不會(huì)跳轉(zhuǎn)到新的頁(yè)面,也不會(huì)重新渲染,它會(huì)選擇路由所指的組件進(jìn)行渲染,避免了重復(fù)渲染的“無用功”。

總結(jié):對(duì)比<a>,router-link組件避免了不必要的重渲染,它只更新變化的部分從而減少DOM性能消耗

Vue的創(chuàng)新之處在于,它利用虛擬DOM的概念和diff算法實(shí)現(xiàn)了對(duì)頁(yè)面的"按需更新",

Vue-router很好地繼承了這一點(diǎn),重渲染是我們不希望看到的,因?yàn)闊o論跳轉(zhuǎn)到哪個(gè)頁(yè)面,只需要渲染一次就夠了。<Link>組件幫助我們實(shí)現(xiàn)了這個(gè)愿望

反觀<a>標(biāo)簽,每次跳轉(zhuǎn)都得重渲染一次,在一個(gè)浩大的項(xiàng)目里,這多么可怕!我們的"渲染"做了許多"無用功",而且消耗了大量彌足珍貴的DOM性能!

補(bǔ)充知識(shí):使用vue中路由router-link中包含a標(biāo)簽

當(dāng)vue中使用router-link包含a標(biāo)簽的時(shí)候,a標(biāo)簽會(huì)取代routerlink的值實(shí)現(xiàn)跳轉(zhuǎn),

<div class="list" v-for="(item,index) in listName" @click="toDetail(item.id)">
<p>{{item.name}}</p>
<p>{{item.address}}</p>
<p>{{item.distance}}米</p>
<a :href="getUrl(item.tel)" rel="external nofollow" rel="external nofollow" >圖標(biāo){{item.tel}}</a>
</div>
<!--<router-link :to="{path:'detail',query:{id:item.id}}" tag="div" class="list" v-for="(item,index) in listName" @click="toDetail()">
<p>{{item.name}}</p>
<p>{{item.address}}</p>
<p>{{item.distance}}米</p>
<a :href="getUrl(item.tel)" rel="external nofollow" rel="external nofollow" >圖標(biāo){{item.tel}}</a>
</router-link>-->

下面這個(gè)routerlink中a標(biāo)簽會(huì)替代router-link的使用

可以使用div加點(diǎn)擊事件

2 當(dāng)在vue中實(shí)現(xiàn) a href="tel:1325425652" rel="external nofollow" 的時(shí)候,直接使用:href="tel" rel="external nofollow" +變量的方法不可以,

可以使用函數(shù)封裝

getUrl(tel){
return "tel:"+tel;

},

以上這篇詳談vue中router-link和傳統(tǒng)a鏈接的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)詳解(select空白bug解決)

    Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)詳解(select空白bug解決)

    最近開始學(xué)習(xí)vue,在學(xué)習(xí)的過程中遇到的問題將記錄在這里,下面這篇文章主要給大家介紹了關(guān)于Vue設(shè)置select下拉框的默認(rèn)選項(xiàng)(select空白bug解決)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue實(shí)現(xiàn)拖拽窗口功能

    vue實(shí)現(xiàn)拖拽窗口功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)拖拽窗口功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue如何循環(huán)給對(duì)象賦值

    vue如何循環(huán)給對(duì)象賦值

    這篇文章主要介紹了vue如何循環(huán)給對(duì)象賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue項(xiàng)目Network: unavailable的問題及解決

    vue項(xiàng)目Network: unavailable的問題及解決

    這篇文章主要介紹了vue項(xiàng)目Network: unavailable的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Vue項(xiàng)目中如何運(yùn)用vuex的實(shí)戰(zhàn)記錄

    Vue項(xiàng)目中如何運(yùn)用vuex的實(shí)戰(zhàn)記錄

    如果說是JQuery是手工作坊,那么Vue.js就像是一座工廠,雖然Vue.js做的任何事情JQuery都可以做,但無論是代碼量還是流程規(guī)范性都是前者較優(yōu),下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中如何運(yùn)用vuex的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Vue+canvas實(shí)現(xiàn)水印功能

    Vue+canvas實(shí)現(xiàn)水印功能

    實(shí)際項(xiàng)目中偶爾會(huì)遇到給項(xiàng)目頁(yè)面背景加水印的需求,這篇文章主要為大家介紹了Vue使用canvas實(shí)現(xiàn)水印功能的示例代碼,希望對(duì)大家有所幫助
    2023-07-07
  • vue如何動(dòng)態(tài)給img賦值

    vue如何動(dòng)態(tài)給img賦值

    這篇文章主要介紹了vue如何動(dòng)態(tài)給img賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue中使用mixins/extends傳入?yún)?shù)的方式

    vue中使用mixins/extends傳入?yún)?shù)的方式

    這篇文章主要介紹了vue中使用mixins/extends傳入?yún)?shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue中前后端使用WebSocket詳細(xì)代碼實(shí)例

    Vue中前后端使用WebSocket詳細(xì)代碼實(shí)例

    websocket通信是很好玩的,也很有用的的通信方式,下面這篇文章主要給大家介紹了關(guān)于Vue中前后端使用WebSocket的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Vue實(shí)現(xiàn)滾動(dòng)加載更多效果的示例代碼

    Vue實(shí)現(xiàn)滾動(dòng)加載更多效果的示例代碼

    這篇文章介紹了在?Web?應(yīng)用中處理大量數(shù)據(jù)展示的兩種滾動(dòng)加載更多方案,滾動(dòng)加載更多通過分頁(yè)工作,優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、用戶體驗(yàn)流暢,缺點(diǎn)是內(nèi)存占用可能過高,虛擬列表只渲染視口內(nèi)容,性能好但實(shí)現(xiàn)復(fù)雜,本文介紹了Vue實(shí)現(xiàn)滾動(dòng)加載更多效果,需要的朋友可以參考下
    2024-12-12

最新評(píng)論

岚皋县| 旬阳县| 南岸区| 大荔县| 罗田县| 天长市| 西藏| 遂宁市| 赞皇县| 敦化市| 洛浦县| 甘洛县| 柞水县| 贺兰县| 光泽县| 确山县| 德清县| 中卫市| 龙门县| 上杭县| 萨迦县| 堆龙德庆县| 永和县| 卢龙县| 开阳县| 石嘴山市| 淮安市| 奇台县| 崇文区| 临颍县| 琼中| 乐亭县| 启东市| 江油市| 电白县| 屏山县| 文安县| 榆社县| 平昌县| 峨眉山市| 白河县|