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

vue 组件中solt 插槽使用

官方教程: https://cn.vuejs.org/v2/guide/

vue solt 插槽使用

如果现在事先模板中不知道需要什么内容,需要在使用时传递 就可以使用插槽with来实现,这种效果! 类似ThinkPHP中的模板继承 的block 标签的功能

匿名插槽

顾名思义就是没有名字的插槽, 匿名插槽只能有一个

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue study</title>
    <script src="node_modules/vue/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <my-comp>
        <slot> <p> 这是使用了插槽,如果没有插槽,这里的内容不会显示 </p> </slot>
    </my-comp>
</div>

<!--templates-->
<template id="my">
    <div>
        <p>其他内容</p>
        <slot> <span>匿名插槽 -- 默认内容</span> </slot>
        <p>其他内容</p>
    </div>
</template>

<!-- JavaScript -->
<script>
    // Register Vue Component
    let myComp = Vue.extend({
        template: '#my',
    });
    
    const vm = new Vue({
        el: '#app',
        data: {

        },
        components: {
            "my-comp": myComp,
        },
    });
</script>
</body>
</html>
复制代码

实名插槽

实名插槽可以有多个,在使用时必须使用name属性来标识

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue study</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>
<body>

<div id="app">
<!--
    注意: 这里放的内容都是属于父级的, 所以 @click="fn" 这个fn方
    法加在组件中是没有用的,必须加在 vm 这个实例中
-->
    <my-comp>
        <div slot="content">
            这是在使用时传入的内容...
            <a href="" @click="fn"></a>
        </div>
    </my-comp>
</div>

<!--templates-->
<template id="my">
    <div>
        <slot name="title">default title</slot>
        <slot name="content">default content</slot>
    </div>
</template>

<!-- JavaScript -->
<script>
    // Register Vue Component
    let myComp = Vue.extend({
        template: '#my',
    });

    const vm = new Vue({
        el: '#app',
        data: {

        },
        methods: {
            fn () {
                alert("hello");
            }
        },
        components: {
            "my-comp": myComp,
        },
    });

</script>
</body>
</html>

复制代码

插槽可以设置默认值,定义了不使用就会使用默认值, 如果没有名字的标签的标签默认会放到default(即匿名插槽)

转载于:https://juejin.im/post/5c7b3bede51d45608a707040

相关文章:

  • 设计模式(三)Animation中的策略模式
  • 手写springmvc框架
  • 你炒的肉丝为何又柴又老又难吃?
  • 刷新三观的几个网站,个个超厉害
  • 解决在V2.0中子组件使用v-model接收来自父组件的值异常
  • 商城系统 DBShop V1.3 Release 20190309 发布
  • HCL远程登陆(telnet)
  • 大数据会取代传统BI吗
  • 网络流基础
  • 不要自建Kubernetes
  • 容器镜像
  • C++智能指针与类模板
  • React 优秀插件记录
  • chrome浏览器的两个坑,以及其他
  • Visual Studio Community 2017 配置 OpenGL 环境 (NuGet)
  • 【node学习】协程
  • 10个确保微服务与容器安全的最佳实践
  • 11111111
  • 30秒的PHP代码片段(1)数组 - Array
  • crontab执行失败的多种原因
  • css布局,左右固定中间自适应实现
  • CSS盒模型深入
  • Django 博客开发教程 16 - 统计文章阅读量
  • ECS应用管理最佳实践
  • JavaScript创建对象的四种方式
  • Js基础——数据类型之Null和Undefined
  • Laravel核心解读--Facades
  • PAT A1017 优先队列
  • PAT A1092
  • Redis 懒删除(lazy free)简史
  • REST架构的思考
  • spring-boot List转Page
  • yii2权限控制rbac之rule详细讲解
  • zookeeper系列(七)实战分布式命名服务
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 深入浅出webpack学习(1)--核心概念
  • 微信小程序开发问题汇总
  • 协程
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • # centos7下FFmpeg环境部署记录
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (SpringBoot)第二章:Spring创建和使用
  • (二)springcloud实战之config配置中心
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (转)http-server应用
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转载)(官方)UE4--图像编程----着色器开发
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .form文件_一篇文章学会文件上传
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core webapi RestFul 统一接口数据返回格式