华为建站wordpress,网络搜索优化,网站内容和备案不一样,小说网站建设模板插槽(slot)是一种用于组件模版复用的技术#xff0c;它允许你在子组件中预留一些位置#xff0c;然后在父组件中填充内容。这样就可以在不同的地方使用同一个组件#xff0c;但是在不同的地方显示不同的内容。 插槽主要分为默认插槽、具名插槽、动态插槽、插槽后备、作用域插…插槽(slot)是一种用于组件模版复用的技术它允许你在子组件中预留一些位置然后在父组件中填充内容。这样就可以在不同的地方使用同一个组件但是在不同的地方显示不同的内容。 插槽主要分为默认插槽、具名插槽、动态插槽、插槽后备、作用域插槽。
默认插槽
// 父组件divslotChild默认传值的方式/slotChild/div
// 子组件
templatedivslot/slot/div
/template具名插槽
父组件的第一种写法
slotChildtemplate v-slot:headerdivTitle/div/templatediv具名插槽的内容/div
/slotChild父组件内部内容的另一种写法
template #headerdivTitle/div
/template
div具名插槽的内容/div子组件的文件
divheaderslot nameheaderDefault Header/slot/headerdivslotdefault Content/slot/div
/div动态插槽
parent.vue文件
slotChild:headerSlotNameheaderSlot:mainSlotNamemainSlottemplate v-slot:[headerSlot]div这是一个动态的头部/div/templatetemplate v-slot:[mainSlot]div这是一个动态的内容渲染区域/div/template
/slotChildimport { defineComponent, onMounted, ref } from vue
import slotChild from /components/slotChild.vueexport default defineComponent({name: parent,components: {slotChild},setup() {return {headerSlot: header,mainSlot: content,}}
})slotChild.vue的文件
divheaderslot :nameheaderSlotName/slot/headermainslot :namemainSlotName/slot/main
/divimport { defineComponent } from vue;export default defineComponent({name: slotChild,props: {headerSlotName: String,mainSlotName: String},
})插槽后备
parent.vue文件
slotChildtemplate v-slot:headerdiv自定义头部内容/div/template
/slotChildslotChild.vue文件
divheaderslot nameheaderDefault Header/slot/headermainslot namemain默认的主体内容/slot/main
/div在父组件中只给header传值主体内容采用默认的值。在大多数情况下插槽后备与作用域插槽一起使用。
作用域插槽
parent.vue文件 slotChildtemplate v-slot:defaultslotPropsdiv{{slotProps.user.name}}/div/templatetemplate v-slot:headerheaderPropsdiv{{headerProps.header.title}}/div/template
/slotChildslotChild.vue文件
divslot :useruser/slotslot nameheader :headerheader/slot
/divimport { defineComponent, reactive } from vue;export default defineComponent({name: slotChild,setup() {const user reactive({name:summer,age: 18})const header reactive({title: 标题,avatar: img地址})return {user,header}}
})