当前位置: 首页 > news >正文

品牌网站设计公司上饶市住房城乡建设局网站

品牌网站设计公司,上饶市住房城乡建设局网站,帝国网站单页做301,wordpress 数据库清理在 Vue 中#xff0c;插槽#xff08;slot#xff09;是实现组件内容分发的机制#xff0c;允许我们将子组件的内容传递给父组件#xff0c;从而提升组件的可复用性和灵活性。插槽的本质是通过将父组件内容传递到子组件指定的插槽位置#xff0c;使得子组件在渲染时可以动…在 Vue 中插槽slot是实现组件内容分发的机制允许我们将子组件的内容传递给父组件从而提升组件的可复用性和灵活性。插槽的本质是通过将父组件内容传递到子组件指定的插槽位置使得子组件在渲染时可以动态填充不同的内容。 1. 插槽的类型 Vue 中有几种主要的插槽类型 1、默认插槽Default Slot 默认插槽用于在组件没有指定插槽时将内容插入到子组件的默认位置。 !-- 父组件中传递内容 -- MyComponentp这是默认插槽内容/p /MyComponent!-- 子组件模板 -- templatedivslot/slot/div /template2、具名插槽Named Slot 具名插槽允许我们通过 name 属性指定插槽名称以便在父组件中为不同的插槽位置传递内容 !-- 父组件中传递具名内容 -- MyComponenttemplate v-slot:headerh1标题内容/h1/templatetemplate v-slot:footerp底部内容/p/template /MyComponent!-- 子组件模板 -- templatedivslot nameheader/slot!-- 默认插槽 --slot/slotslot namefooter/slot/div /template 3、作用域插槽Scoped Slot 作用域插槽允许子组件向父组件提供数据从而让父组件可以根据该数据动态渲染插槽内容。适用于一些内容需要根据子组件提供的数据进行渲染的场景。 !-- 父组件 -- MyComponent v-slot:default{ data }p子组件提供的数据{{ data }}/p /MyComponent!-- 子组件模板 -- templateslot :datasomeData/slot /templatescript export default {data() {return {someData: Hello slot}} } /script 2. 插槽的本质 插槽的本质是将父组件内容通过编译成 vnode虚拟节点然后在子组件渲染时将这些 vnode 放置到子组件的指定位置。Vue 通过 vnode 的编译与插槽的传递将插槽内容与子组件进行动态绑定这样可以提升代码复用性并保持组件内部逻辑的独立性。 当我们使用插槽传递数据时实际传递的是一个对象 { }每一个插槽对应对象的属性。属性名插槽名默认为 default属性值函数 function返回值是虚拟节点。 {// 默认插槽default: function(){},// 具名插槽slot1: function(){},// 作用域插槽slot2: function({ msg}){}, } 因此传递插槽也就是在传递函数使用插槽在调用函数返回虚拟节点。 3. 验证结论 正常使用如下 App.vue templateCompp默认插槽default slot/ptemplate #slot1p具名插槽slot1/p/templatetemplate #slot2{ msg }p作用域插槽{{ msg }}/p/template/Comp /templatescript setup import Comp from ./components/Comp.vue /scriptComp.vue templatedivslot/slotslot nameslot1/slotslot nameslot2 msghello slot/slot/div /template 展示为 下面使用 JS 实现一下 Comp.js import { createElementVNode } from vue export default {setup(_, { slots }) {console.log(~ slots:, slots)const defaultVNodes slots.default()const slot1VNodes slots.slot1()const slot2VNodes slots.slot2({ msg: hello slot })console.log(~ VNodes, defaultVNodes, slot1VNodes, slot2VNodes)return () {return createElementVNode(div, null, [...defaultVNodes, ...slot1VNodes, ...slot2VNodes])}} } 或者 import { defineComponent, h } from vue export default defineComponent({name: Comp,props: {},setup(props, { slots }) {return () h(div, [slots.default ? slots.default() : h(p, 默认插槽),slots.slot1 ? slots.slot1() : h(p, 具名插槽 slot1),slots.slot2 ? slots.slot2({ msg: Hello scoped slot }) : null])} })插槽的本质就是在子组件中调用函数创建虚拟节点显示到页面上。 4. 使用 slot 注意事项 1、避免滥用插槽 插槽虽然可以极大地提升组件的灵活性但过多的插槽会使组件的 API 变得复杂不易理解和维护。 2、作用域插槽的命名 为了代码可读性使用作用域插槽时建议使用有意义的命名如 v-slot:default{ item } 而不是 v-slot{ data }这样能让代码的含义更加清晰。 3、默认插槽内容 在设计组件时可以为插槽设置默认内容以便在父组件未传递内容时插槽依旧可以展示一些基本信息。比如slot默认内容/slot。 4、避免嵌套过深的插槽结构 深层嵌套的插槽结构可能会导致代码可读性差同时也会增加渲染的复杂度因此在设计组件时尽量保持插槽的扁平结构。
http://www.dnsts.com.cn/news/169191.html

相关文章:

  • 四川省成华区建设局网站传统营销与网络营销的整合方法
  • 广州商城网站建设西安网站建设方案托管
  • 成功备案的网站增加域名动感网站模板
  • 国内免费iphone网站中国纪检监察报邮箱
  • 专门做照片的网站咸阳住房和城乡建设局网站
  • 销售网站开发实践报告竞价系统
  • 网站被挂黑链了怎么下载建设银行网站
  • 网站制作_做网站_耐思智慧东莞附近公司做网站建设多少钱
  • 镇江哪里做网站王也道长头像无水印
  • 网站建设移交内容广州网站设计首选刻
  • 电子商务网站用什么语言开发做软件怎么赚钱
  • 南宁做网站培训南戴河区网站建设哪家好
  • 杭州网站推广服务h5网站开发总结
  • 凤岗网站建设公司促销策划
  • 秦皇岛学网站建设中国核工业建设集团公司
  • 北京西站咨询服务电话吉林省高等级公路建设局 网站
  • 微信网站开发费用什么是网络营销调研?它有什么特点?
  • 有没有做试题的网站wordpress首页页面
  • 公司网站制作第一步是什么电商网站运营步骤
  • 杭州网站开发制作公司成都网站开发公司排名
  • 江苏电力建设网站国外网站上不去 dns
  • 网站 建设 维护 公司邯郸网站建设好的公司
  • 做网站开发有什么专业证服装店网站建设规划书
  • 网站设计所遵循的原则网络舆情监测专升本对口专业
  • 德清网站设计做公司网站要多久
  • 静安网站建设关键词优化seowordpress创建文章
  • 淘宝联盟链接的网站怎么做的注重网站建设 把好宣传思想关口
  • 网站宝建站新片场视频素材
  • 淘宝商城的网站建设网站如何验证登陆状态
  • 镜像别人网站做排名的好处低功耗集成主板做网站