第一天

作者: 流觞小菜鸟 | 来源:发表于2019-11-20 09:49 被阅读0次

    1、简述vuex的工作流程?

    2、vuex-router导航守卫(钩子函数)?

    概念

    导航发生变化时,导航钩子主要用来拦截导航,让它完成跳转或取消

    拦截方式

    (一)全局的

    (1)beforeEach - 前置钩子函数

    参数to、from、next

    to:去哪里

    from:从哪里

    next():是否跳转由它决定

    使用场景 - 未登录去下单,跳转到登录页

    router.beforeResolve (v 2.5.0+) 全局解析守卫 和beforeEach类似,
    区别是在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,解析守卫就被调用 即在 beforeEach 和 组件内beforeRouteEnter 之后
    (2)afterEach - 后置钩子函数
    参数to、from

    to:去哪里

    from:从哪来

    使用场景 - 改变浏览器title

    (二)单个路由独享的

    beforeEnter

    参数to、from、next

    同beforeEach

    (三) 组件级的

    (1)beforeRouteEnter - 进入组件前

    参数to、from、next

    同beforeEach

    使用场景 - 进入这个组件前你要做什么初始化操作

    (2)beforeRouteUpdate - 组件更新或改变时

    参数to、from、next

    同beforeEach

    使用场景 - 复用组件时(对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候)

    (3)beforeRouteLeave - 离开组件时

    参数to、from、next

    同beforeEach

    使用场景 - 清除定时器等等

    3、详述keep-alive组件?

    包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们,它自身不会渲染一个DOM元素,也不会出现在父组件中

    keep-alive提供了三个可选属性
    include - 字符串或数组或正则表达式。只有名称匹配的组件会被缓存。
    exclude - 字符串或数组或正则表达式。名称匹配的组件不会被缓存。
    max - 数字类型。表示最多可以缓存多少组件实例

    相关文章

      网友评论

          本文标题:第一天

          本文链接:https://www.haomeiwen.com/subject/iuwnictx.html