位置: IT常识 - 正文

浅析<router-view> v-slot事例(浅析中国式现代化的理论价值与现实意义)

编辑:rootadmin
浅析<router-view> v-slot事例

推荐整理分享浅析<router-view> v-slot事例(浅析中国式现代化的理论价值与现实意义),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:浅析人物形象的论文开题报告,浅析和浅谈的区别论文,浅析的近义词,浅析论文题目,浅析是什么意思,浅析大学生人际交往论文,浅析新时代十年伟大变革的里程碑意义,浅析人物形象的论文开题报告,内容如对您有帮助,希望把文章链接给更多的朋友!

官方关于<router-link> 的 v-slot的相关介绍: https://router.vuejs.org/zh/api/#router-view-%E7%9A%84-v-slot 并给出了一个例子:

<router-view v-slot="{ Component, route }"> <transition :name="route.meta.transition || 'fade'" mode="out-in"> <keep-alive> <suspense> <template #default> <component :is="Component" :key="route.meta.usePathKey ? route.path : undefined" /> </template> <template #fallback> Loading... </template> </suspense> </keep-alive> </transition></router-view>

但对于初学者在刚开始了解vue或者刚开始入手和摸索学习的时候看到上面的例子应该多少有些懵,上面的{ Component, route }是什么东西,是怎么来的是自己定义的吗?

但你看到前面的v-slot,实际上他就是对应vue的插槽。 参考官方文档:https://v3.cn.vuejs.org/guide/component-slots.html,你不难发现它就是作用域插槽下的 解构插槽 Prop,官方给出的例子也类似于v-slot="{ Component, route }"的写法。实际上就是让router-view的插槽能够访问子组件中的数据,访问的数据就是Component和route 。

浅析<router-view> v-slot事例(浅析中国式现代化的理论价值与现实意义)

官方给出Component和route的解释:

Component: 要传递给<component> 的 VNodes 是 prop。route: 解析出的标准化路由地址。

我们再去参考vue组件基础中的动态组件,你不难发现,其实有相关的介绍:

<component :is="currentTabComponent"></component>

在上述示例中,currentTabComponent 可以包括:

已注册组件的名字,或一个组件选项对象<component :is="Component" :key="route.meta.usePathKey ? route.path : undefined"/>

而上面的router-view插槽中的Component就是一个组件选项对象,如果你在浏览器的控制台查看,它类似于下面的结构: 而route就是RouteLocationNormalized,你可以获取RouteLocationNormalized中的参数,比如meta中你自定义的内容。假如,你在meta定义了一个参数cacheable,用来区分是否需要缓存组件,你就可以做如下操作:

<router-view v-slot="{ Component, route }"> <keep-alive v-if="Component"> <component :is="Component" v-if="route.meta.cacheable"></component> </keep-alive> <component :is="Component" v-if="!route.meta.cacheable"></component></router-view>

而关于keep-alive,大家可以参考,在动态组件上使用-keep-alive。当在某些组件之间切换的时候,你有时会想保持这些组件的状态,以避免反复渲染导致的性能问题,我们更希望那些已经打开的组件实例能够被在它们第一次被创建的时候缓存下来。为了解决这个问题,我们可以用一个<keep-alive> 元素将其动态组件包裹起来。

而suspense看官方介绍是一个新增的功能,具体参考:https://v3.cn.vuejs.org/guide/migration/suspense.html 是一个试验性的新特性,用来在正确渲染组件之前进行一些异步操作。目前不推荐在生产使用。

总结: 就单纯看<router-view> v-slot这个事例就简单几行代码,但它需要我们把vue的基础和深入组件掌握好,要不看起来就比较懵,不知道什么意思。

本文链接地址:https://www.jiuchutong.com/zhishi/299126.html 转载请保留说明!

上一篇:React生命周期详解(react生命周期分为两类)

下一篇:【GPT4】GPT4 官方报告解读(.gp4)

  • hdmi线缆标准(hdmi线缆)(hdmi线 标准)

  • 米兔手表如何恢复出厂设置(米兔手表如何恢复)

  • p40pro的微信视频可以打开美颜吗(p40pro微信视频丑)

  • 微博铁粉标识如何获得(微博铁粉标识是什么样)

  • 为什么xr没有3dtouch

  • 华为bkkal10是什么型号(华为bkk-al10是什么型号手机)

  • 芯片14nm是什么意思(14nm芯片量产了,意味着我们能生产)

  • 不小心充了抖音币怎么退回来(不小心充了抖音币咋办)

  • 为什么苹果手机视频加载不出来(为什么苹果手机日历不显示父亲节)

  • 为什么新注册抖音没有观看量(为什么新注册抖音号没有最新特效)

  • 电脑邮箱在哪里找到(电脑邮箱在哪里看消息)

  • 苹果手机siri听不到我说话怎么办(苹果手机siri听不到我说话是哪里坏了)

  • vivoy93手机死机怎么办(vivoy93手机死机后无响应)

  • cpu线程数是什么作用(CPU线程数是什么意思)

  • windowsxp是系统软件吗

  • 淘宝限制购买什么意思(淘宝买东西限制购买)

  • word2010底纹填充颜色(word底纹填充色怎么设置)

  • 手机版ps怎么用(手机版ps怎么用ps抠图)

  • 一加7T Pro怎么关闭振动(一加7pro如何关闭volte)

  • MagicBook 14有雷电3接口吗(magicbook14有雷电4接口吗)

  • 企业微信可以发朋友圈吗(企业微信可以发给自己吗)

  • 百家号收益计算规则(百家号收益计算和推荐量有关吗)

  • windows未能启动(windows未能启动,原因可能是最近更改了硬件或软件)

  • vite基础使用及相关配置(vit详解)

  • 作为大学生,你还不会搭建chatGPT微应用吗?(作为大学生你能为国家安全贡献哪些力量论文)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络