5.31作业

1.详细说明$route 和$router 的区别?

        1.$router是VueRouter的一个对象,通过Vue.use(VueRouter)和Vue构造函数得到一个router的实例对象,这个对象是一个全局的对象,他包含了所有的路由,包含了许多关键的对象和属性。

                $router.push({path:'home'}),本质是向history栈中添加一个路由,在我们看来是切换路由,但本质是在添加一个history记录

                $router.replace({path:'home'}),//替换路由,没有历史记录

        2.$route是一个跳转的路由对象,每一个路由都会有一个$route对象,是一个局部的对象,可以获取对应的name,path,params,query等

                $route.path 字符串,等于当前路由对象的路径,会被解析为绝对路径,如/home/ews

                $route.params 对象,含路由中的动态片段和全匹配片段的键值对,不会拼接到路由的url后面

                $route.query 对象,包含路由中查询参数的键值对。会拼接到路由url后面

                $route.router 路由规则所属的路由器

                $route.matchd 数组,包含当前匹配的路径中所包含的所有片段所对象的配置参数对象

                $route.name 当前路由的名字,如果没有使用具体路径,则名字为空

2.<keep-alive></keep-alive>的作用是什么?什么场景使用?常用属性?生命周期?


         keep-alive可以实现组件缓存,当组件切换时,主要用于保留组件状态或避免重新渲染
        它有以下两个作用:
                缓存有状态的组件,避免组件在切换时被重新渲染;
                在缓存的组件被激活时触发 activated 钩子函数,在缓存的组件被停用时触发 deactivated 钩子函数。
                使用 Keep-alive 可以提高组件的性能,尤其是在组件状态比较复杂或需要较长时间计算的情况下,通过缓存组件避免重复渲染,提高应用的性能。
        常用的两个属性include/exclude,允许组件有条件的进行缓存
        actived  在keep-alive中使用,缓存组件激活
        deactived 在keep-alive中使用,缓存组件不激活

        使用场景:

                比如有一个列表和一个详情,那么用户就会经常执行打开详情=>返回列表=>打开详情...

这样列表和详情都是一个频率很高的页面,那么就可以对列表组件使用<keep-alive></keep-alive>进行缓存,这样用户每次返回列表的时候,都能从缓存中快速渲染,而不是重新渲染

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值