前端面试官问我vuejs有几种路由?我说2种,嵌套路由和动态路由。然后他很惊讶的看着我问:动态路由?我有点懵了。请问他想要的答案是什么?我说错了吗?
我觉得应该是问的路由模式,路由模式应该有三种
1 hash
使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载,其显示的网路路径中会有 “#” 号。这是最安全的模式,因为他兼容所有的浏览器和服务器。
http://localhost:8080/#/home
2 history
美化后的hash模式,会去掉路径中的 “#”。依赖于Html5 的history,pushState API,所以要担心IE9以及一下的版本,感觉不用担心。
http://localhost:8080/home
3 abstract
适用于所有JavaScript环境,例如服务器端使用Node.js。如果没有浏览器API,路由器将自动被强制进入此模式。
设置 三选一const router = new VueRouter({routes, mode:'hash|history|abstract'})
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
我也不明白。
当然也许他想问的是路由模式以及前端路由的原理:那就是两种模式history和hash。但这又不是vue.js独有的,只是vue-router提供了路由模式的配置而已。
至于动态路由和嵌套路由,好像并没有这样分类的。