超详细vue组件开发(三)--slot插槽


前言

上一篇介绍了组件之间的相互访问,不同于组件通信的是:通过props和this.$emit()只能传递数据;而访问除了数据还可以访问组件内部的方法。
接下来介绍组件插槽slot的运用。slot包括基本slot的使用、具名插槽以及作用域插槽。


一、slot的基本使用

首先介绍最基本的slot使用,让大家了解插槽是什么。组件的特性就是可复用,这也是开发组件的目的,但是不同的应用场景对组件的需求也不尽相同。这时,slot就允许我们替换掉插槽里的内容,渲染出符合要求的组件。
代码示例如下:可以为插槽slot提供默认值,使用时如不替换就显示默认值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>slot的使用</title>
    <script src="../../vue/vue.js" type="text/JavaScript" charset="utf-8"></script>
</head>
<body>

    <!--1、slot预留插槽,使用组件时填入特定内容
        2、slot可以提供默认值
    -->

    <div id="app">
        <cpn><button>{
  {message}}</button></cpn>
        <cpn></cpn>
    </div>

    <template id="myCpn">
        <div>
            <h2>我是组件,下方预留插槽</h2>
            <slot>默认值</slot>
            <slot>默认值</slot>
        </div>
    </template>
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue组件中调用弹窗组件可以通过以下步骤实现: 1. 首先,创建一个弹窗组件,可以在组件的`template`中定义弹窗的内容和样式。 ```vue <template> <div class="modal"> <div class="modal-content"> <!-- 弹窗内容 --> <slot></slot> </div> </div> </template> <script> export default { name: 'Modal', // ...组件的其他配置 } </script> <style> .modal { /* 弹窗样式 */ } .modal-content { /* 弹窗内容样式 */ } </style> ``` 2. 在需要使用弹窗的父组件中,引入并注册弹窗组件。 ```vue <template> <div> <!-- 点击按钮触发弹窗 --> <button @click="openModal">打开弹窗</button> <!-- 使用弹窗组件 --> <Modal v-if="showModal"> <!-- 弹窗内容 --> <h2>这是一个弹窗</h2> <p>欢迎使用弹窗组件!</p> <button @click="closeModal">关闭</button> </Modal> </div> </template> <script> import Modal from './Modal.vue'; export default { name: 'ParentComponent', components: { Modal, }, data() { return { showModal: false, }; }, methods: { openModal() { this.showModal = true; }, closeModal() { this.showModal = false; }, }, } </script> ``` 在上述代码中,点击按钮 `打开弹窗` 会触发 `openModal` 方法,将 `showModal` 属性设置为 `true`,从而显示弹窗组件。弹窗组件在父组件中使用时,可以通过插槽slot)传递弹窗的内容和样式。 这样,当点击按钮时,弹窗组件会显示,并且可以通过弹窗中的按钮或其他交互元素来关闭弹窗。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值