Vue-router是伴隨著Vue框架出現的路由系統,它也是公認的一種優秀的路由解決方案。在使用Vue-router時候,我們常常會使用其自帶的路徑跳轉組件Link,通過<Link to="path"></Link>
實現跳轉,這和傳統的<a href="path"></a>
何其相似!但它們到底有什么具體的區別呢?
對比<a>,Link組件避免了不必要的重渲染
A -- 通過<a>標簽實現頁面跳轉:(圖中的例子將會在下面詳細解答)
圖一
圖二
圖三
B --通過<Link>組件實現頁面跳轉:
圖一
圖二
只更新變化的部分從而減少DOM性能消耗
- Vue的創新之處在于,它利用虛擬DOM的概念和diff算法實現了對頁面的"按需更新",Vue-router很好地繼承了這一點,譬如上圖所示,導航組件和三個Tab組件(通過...,通過...,通過...)的重渲染是我們不希望看到的,因為無論跳轉到頁面一或是頁面二,它只需要渲染一次就夠了。<Link>組件幫助我們實現了這個愿望,反觀<a>標簽,每次跳轉都重渲染了導航組件和Tab組件試想一下,在一個浩大的項目里,這多么可怕!我們的"渲染"做了許多"無用功",而且消耗了大量彌足珍貴的DOM性能!