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

国外网站服务器地址盘州住房和城乡建设局网站

国外网站服务器地址,盘州住房和城乡建设局网站,背景图片设计在线制作,虚拟币网站开发在 Vue 3 中,slot(插槽)是一种强大的组件内容分发机制,它允许父组件向子组件传递内容,从而使组件的使用更加灵活。以下是关于 Vue 3 中 slot 的详细介绍 一、默认插槽 这是最基本的插槽形式。子组件中使用定义一个插…

在 Vue 3 中,slot(插槽)是一种强大的组件内容分发机制,它允许父组件向子组件传递内容,从而使组件的使用更加灵活。以下是关于 Vue 3 中 slot 的详细介绍

一、默认插槽

  • 这是最基本的插槽形式。子组件中使用定义一个插槽,父组件可以将内容放置在子组件标签对之间来填充这个插槽。
    子组件代码示例 childTest.vue
    <template><div class="child_wrap"><slot></slot></div>
    </template>
    
    父组件代码示例parentTest.vue
    <template><childTest>1111</childTest>
    </template>
    <script setup lang="ts">import childTest from './childTest.vue';    
    </script>
    
    父组件中的

    标签内容就会被插入到子组件的默认插槽位置,即子组件

    内的位置

二、具名插槽

  • 当子组件需要定义多个插槽时,就可以使用具名插槽来区分这些插槽。
  • 在子组件中,给标签添加name属性来指定插槽的名称。父组件则通过v-slot:slotName或者简写#slotName来指定内容应该放置到哪个具名插槽

子组件代码示例 childTest.vue

<template><div class="child_wrap"><slot></slot><slot name="header"></slot><slot name="content"></slot><slot name="footer"></slot></div>
</template>

父组件代码 parentTest.vue

<template><childTest><p>1111</p><template v-slot:header><h3>This is the header</h3></template><template #content><p>This is the content section</p></template><template v-slot:footer><p>This is the footer</p></template></childTest>
</template>

父组件通过v-slot:header、#content(简写形式)和v-slot:footer将不同的内容分别放入子组件的header、content和footer具名插槽中

三、作用域插槽

  • 作用域插槽允许子组件向父组件传递数据,父组件可以基于这些数据来渲染内容。
  • 在子组件中,通过在标签上使用v-bind(或简写:)将数据传递给插槽。父组件在使用作用域插槽时,可以通过模板内的slotProps对象来访问子组件传递的数据。

子组件代码

<template><div class="child_wrap"><!-- <slot></slot><slot name="header"></slot><slot name="content"></slot><slot name="footer"></slot> --><slot name="item" :item="itemData"></slot></div>
</template><script setup lang="ts">
import { ref } from 'vue';
const itemData = ref({name: 'John',age: 30,
})
</script>

父组件

<template><childTest><!-- <p>1111</p> --><!-- <template v-slot:header><h3>This is the header</h3></template><template #content><p>This is the content section</p></template><template v-slot:footer><p>This is the footer</p></template> --><template v-slot:item="slotProps"><div><p>Age: {{ slotProps.item.age }}</p><p>Name: {{ slotProps.item.name }}</p></div></template></childTest>
</template>

子组件通过将itemData数据传递给名为item的作用域插槽。父组件通过v-slot:item="slotProps"接收这个数据,并在模板中使用slotProps.item来访问和渲染这些数据

四、动态插槽

  • 动态插槽允许你根据条件动态地选择要渲染的插槽。这可以通过 v-bind 动态绑定插槽名来实现
    子组件 childTest.vue
<template><div class="child_wrap"><slot></slot><slot name="dynamicSlot"></slot></div>
</template>

父组件 childTest.vue

<template><childTest>1111<template v-slot:[dynamicSlotName]><p>这是动态插槽的内容</p></template></childTest>
</template><script setup lang="ts">
import childTest from './childTest.vue';
import { ref } from 'vue';
const dynamicSlotName = ref('dynamicSlot');</script><style scoped></style>

父组件通过v-slot:[dynamicSlotName]、#[dynamicSlotName](简写形式)

五、条件插槽

  • 使用 $slots 属性与 v-if 来实现。
  • 我们定义了一个卡片组件,它拥有三个条件插槽:header、footer 和 default。 当 header、footer 或 default 的内容存在时,我们希望包装它以提供额外的样式
    父组件 parentTest.vue
<template>
<div><childTest><!-- 标题插槽 --><template v-slot:header><h3>卡片标题</h3></template><!-- 默认插槽(内容) --><p>这是卡片的主体内容。你可以在这里添加任意内容。</p><!-- 页脚插槽 --><template v-slot:footer><button @click="handleClick">操作按钮</button></template></childTest>
</div>
</template><script setup lang="ts">
import childTest from './childTest.vue';
const handleClick = () => {
console.log('按钮被点击了');
};
</script>

子组件 childTest.vue

 <div class="card"><div v-if="$slots.header" class="card-header"><slot name="header" /></div><div v-if="$slots.default" class="card-content"><slot /></div><div v-if="$slots.footer" class="card-footer"><slot name="footer" /></div>
</div>
</template>
在 Vue 3 中,你可以使用 v-slots 指令来以对象的形式定义插槽内容。这种方式允许你在模板中以更灵活的方式定义多个插槽。以下是一个示例,展示如何使用 v-slots 来定义默认插槽和其他插槽的内容。

父组件代码

<template><div><childTestv-slots="{default: () => <p>这是默认插槽的内容</p>,header: () => <h3>这是标题插槽的内容</h3>,footer: () => <button @click="handleClick">这是页脚插槽的内容</button>}"/></div>
</template><script setup lang="ts">
import childTest from './childTest.vue';const handleClick = () => {console.log('按钮被点击了');
};
</script><style scoped></style>

子组件代码(childTest.vue)

<template><div class="card"><div v-if="$slots.header" class="card-header"><slot name="header" /></div><div v-if="$slots.default" class="card-content"><slot /></div><div v-if="$slots.footer" class="card-footer"><slot name="footer" /></div></div>
</template><style scoped>
.card {border: 1px solid #e0e0e0;border-radius: 8px;overflow: hidden;margin: 20px 0;
}.card-header {background-color: #f5f5f5;padding: 16px;border-bottom: 1px solid #e0e0e0;
}.card-content {padding: 16px;
}.card-footer {background-color: #f5f5f5;padding: 12px 16px;border-top: 1px solid #e0e0e0;text-align: right;
}
</style>

文章转载自:

http://SSwdeVxT.zxzgr.cn
http://MwotV5k7.zxzgr.cn
http://ZV7Yo1uM.zxzgr.cn
http://AZ9xM4pX.zxzgr.cn
http://ouVXrSaU.zxzgr.cn
http://9rGTOHoe.zxzgr.cn
http://Wqqk4EUs.zxzgr.cn
http://LbD4kQFh.zxzgr.cn
http://1KBMjD95.zxzgr.cn
http://GOnGnq1F.zxzgr.cn
http://0Y2IQQ2I.zxzgr.cn
http://pSAX6qrL.zxzgr.cn
http://S8t8BDIz.zxzgr.cn
http://9SXENsaK.zxzgr.cn
http://jY27vLJm.zxzgr.cn
http://ufbRie5k.zxzgr.cn
http://5J6uwMUx.zxzgr.cn
http://pKkK9S7F.zxzgr.cn
http://9Gg2PS1h.zxzgr.cn
http://avpDMA5m.zxzgr.cn
http://WhDkcPPW.zxzgr.cn
http://Y0vJKUK9.zxzgr.cn
http://w0aCyTHK.zxzgr.cn
http://VoG6XsIC.zxzgr.cn
http://R8iTtcxE.zxzgr.cn
http://boEXPyoD.zxzgr.cn
http://7x2CDJS2.zxzgr.cn
http://E0H4w7rd.zxzgr.cn
http://874wH6fR.zxzgr.cn
http://5SqDbq39.zxzgr.cn
http://www.dtcms.com/wzjs/608430.html

相关文章:

  • 怎么用vps搭建网站自己的电脑做网站服务器
  • 网站运营优化南庄九江网站建设
  • 大淘客怎么做网站wordpress 导出数据
  • 做网站主流语言广州建设银行招聘网站
  • 十大门户网站有哪些dw制作简单网站
  • 如何下载js做的网站wordpress去除版权
  • 万户做网站好不好上海开展扫黄打非专项检查
  • 网站建设实训室介绍国外WordPress小说主题
  • 刷赞网站推广ks设计素材网站有哪些平台
  • 最少的钱怎么做网站建站工具推荐
  • 怎么自己写网站企业网站开发 流程
  • 可以免费做简历的网站网站建设实训心得体会2000字
  • 建设网站免费河南小学网站建设
  • 合肥网站建设公司排名三好街做网站公司
  • 河北省城乡建设培训网官方网站php网站模板制作工具
  • 网站建设与域名备案wordpress 企业展示
  • 网站模版切换网站建设 丽水
  • 北京网站设计联系方式如何优化网站图片大小
  • 众划算网站开发通化网站建设公司
  • 网站域名验证企业宣传册文案范文
  • element ui页面模板优化落实新十条措施
  • 庆阳定制网站宣传片制作拍摄
  • 域名网站怎么打开中国建设报社门户网站
  • php完整网站开发案例东莞公司高端网站建设
  • 2018年静安区品牌网站建设如何破解网站后台
  • 深圳龙华住房和建设局网站门户网站注意事项
  • 我想建网站如何查看网站架构
  • 阿里云网站301重定向怎么做网站图标文件下载
  • 网站推广注意事项网站建设jiage
  • 网站建设300元营销型门户网站