vue 路由面试题
1.mvvm 框架是什么?
模型,视图,视图模型,模型驱动视图的更新,而不需要经过中间控制器
2.vue-router 是什么?它有哪些组件
<router-link :to='' class='active-class'> //路由声明式跳转 ,active-class是标签被点击时的样式
<router-view> //渲染路由的容器
<keep-alive> //缓存组件
3.active-class 是哪个组件的属性?
<router-link to='/' active-class="active" exact>首页</router-link>
4.怎么定义 vue-router 的动态路由? 怎么获取传过来的值
通过query ,param两种方式
5.vue-router 有哪几种导航钩子?
1、全局守卫: router.beforeEach
2、全局解析守卫: router.beforeResolve
3、全局后置钩子: router.afterEach
4、路由独享的守卫: beforeEnter
5、组件内的守卫: beforeRouteEnter、beforeRouteUpdate (2.2 新增)、beforeRouteLeave
6.route和route 和 route和router 的区别
this.$router是全局路由器对象 this.$route是当前激活的路由对象,包含了当前的路由信息。
1. $route从当前router跳转对象里面可以获取name、path、query、params等(<router-link>传的参数由 this.$route.query或者 this.$route.params 接收)
2. $router为VueRouter实例。想要导航到不同URL,则使用$router.push方法;返回上一个history也是使用$router.go方法
7.vue-router 响应路由参数的变化
watch监听路由变化
8.vue-router 传参
param/query
9.vue-router 的两种模式
前面的hashchange,你只能改变
history模式则会将URL修改得就和正常请求后端的URL一样,如后端没有配置对应/user/id的路由处理,则会返回404错误
10.vue-router 实现路由懒加载( 动态加载路由 )
vue异步组件
es提案的import()
webpack的require,ensure()