两种方式编译后的代码,除了元素的文本不一样外,在关键信息href都是一样的。
<a>进行跳转,页面会重新渲染,即相当于打开一个新的页面;<router-link>组件避免了不必要的重复渲染,他只更新变化的部分从而减少DOM性能消耗。
<a>
<a> 可以通过他的 href 属性创建通向其他网页、文件、同一页面内的位置、电子邮件地址或任何其他 URL 的超链接。
<a> 属性
href
创建超链接:
<a href='/index.html'>相对链接</a>
<a href='http://www.xxx.com'>外部链接</a>
将图像作为链接:<a href='https://www.xxx.com'><img src='/xx.png' /></a>
链接到同一个页面的不同位置:<a href='#id'></a>
创建电子邮件链接:<a href='mailto:'></a>
创建电话链接:<a href='tel:+123456'></a>
可以使用
href="#top"
或者href="#"
链接返回到页面顶部。
<router-link>
<router-link>组件支持用户在具有路由功能的应用中 (点击) 导航。
<router-link> Props
to
目标路由的链接。当被点击后,内部会把to的值转到router.push(),这个值可以是一个字符串或者描述目标位置的对象。
replace
当点击时,会调用router.replace() 而不是 router.push() ,于是导航后不会留下 history 历史记录。
tag
有时想要 <router-link> 渲染成某种标签。于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。