W3C中是這樣解釋a標簽的:
標簽定義超鏈接,用于從一張頁面鏈接到另一張頁面。
從一張頁面跳轉到另一張頁面,但從這里來說就違背了多視圖的單頁Web應用這個概念
通過a標簽進行跳轉,頁面會被重新渲染,即相當于重新打開一個新的網(wǎng)頁,體現(xiàn)為視覺上的“閃爍”(如果是本地的項目基本看不出來)
router-link
組件支持用戶在具有路由功能的應用中 (點擊) 導航。 通過 to 屬性指定目標地址,默認渲染成帶有正確鏈接的 標簽,可以通過配置 tag 屬性生成別的標簽.。
通過router-link進行跳轉不會跳轉到新的頁面,也不會重新渲染,它會選擇路由所指的組件進行渲染,避免了重復渲染的“無用功”。
總結:對比,router-link組件避免了不必要的重渲染,它只更新變化的部分從而減少DOM性能消耗
Vue的創(chuàng)新之處在于,它利用虛擬DOM的概念和diff算法實現(xiàn)了對頁面的"按需更新",
Vue-router很好地繼承了這一點,重渲染是我們不希望看到的,因為無論跳轉到哪個頁面,只需要渲染一次就夠了。組件幫助我們實現(xiàn)了這個愿望
反觀標簽,每次跳轉都得重渲染一次,在一個浩大的項目里,這多么可怕!我們的"渲染"做了許多"無用功",而且消耗了大量彌足珍貴的DOM性能!