vue slot与传参实例代码讲解


Posted in Javascript onApril 28, 2019

插槽分为默认插槽和具名插槽:

默认插槽: 

//父组件
<div>
  <h3>父组件</h3>
  <testChild>
   <div>默认插槽</div>
  </testChild>
</div>

//子组件
<div>
 <h4>子组件</h4>
 <slot></slot>
</div>

vue slot与传参实例代码讲解

具名插槽:

  注意:具名插槽需要包裹在  template  标签中,否则会报错

//父组件
<div>
  <h3>父组件</h3>
  <testChild>
   <template v-slot:test>//v-slot: + 插槽名
    <ul>
     <li v-for="item in list">{{item.name}}</li>
    </ul>
   </template>
  </testChild>
 </div>
//子组件
 <div>
  <h4>子组件</h4>
  <slot name="test"></slot> //name="插槽名"
 </div>

vue slot与传参实例代码讲解

子组件向父组件传参:

//父组件 
 <div>
  <h3>父组件</h3>
  <testChild>
   <template v-slot:test="data">//具名插槽,v-slot: +插槽名+ ="自定义数据名",子组件所传参数都是其属性
    <ul>
     <li v-for="item in data.list2">{{item.name}}</li>
    </ul>
   </template>
   <template v-slot="dataDefalut">//默认插槽
    {{dataDefalut.sName}}
   </template>
  </testChild>
 </div>

//子组件
<template>
 <div>
  <h4>子组件</h4>
  <slot name="test" :list2="list2"></slot>
  <slot :sName="name"></slot>
 </div>
</template>
<script>
 export default {
  name: "testChild",
  data(){
   return {
    list2:[
     {name:'ccc'},
     {name:'ddd'}
    ],
    name:'name'
   }
  }
 }
</script>

结果:

vue slot与传参实例代码讲解

补充:vue 利用slot向父组件传值

闲话不多说,上代码

子组件,里面有slot插槽,并在slot上绑定了text值

<template>
 <div @click="$emit('change',checked+1)">
  <slot name="icon" :text="text"></slot>
 </div>
</template>
<script>
 export default{
  data(){
   return {
    text:"我是子组件"
   }
  },
  props:["checked"],
  model:{
   prop: 'checked',
   event: 'change'
  }
 }
</script>

父组件通过slot-scope就可以拿到子组件slot上绑定的值,并且2.5.0版本可以用于任意元素上

<template>
 <div id="app">
  <img src="./assets/logo.png">
  <!--<router-view/>-->
  <car v-model="index">
   <div slot="icon" slot-scope="props">
    {{props.text}}
   </div>
  </car>
 </div>
</template>

这样,就可以拿到子组件里面的text值。

总结

以上所述是小编给大家介绍的vue slot与传参实例代码讲解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
jQuery validate 中文API 附validate.js中文api手册
Jul 31 Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
深入理解JavaScript中的传值与传引用
Dec 09 Javascript
js中的内部属性与delete操作符介绍
Aug 10 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
JS动画定时器知识总结
Mar 23 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
Dec 01 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
Apr 28 #Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 #jQuery
vue项目中在外部js文件中直接调用vue实例的方法比如说this
Apr 28 #Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 #Javascript
详解vue更改头像功能实现
Apr 28 #Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 #Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 #Javascript
You might like
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
浅谈Redux中间件的实践
2018/07/27 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
药剂学专业应届生自荐信
2013/09/29 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
模具专业求职信
2014/06/26 职场文书
沈阳故宫导游词
2015/01/31 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
食品卫生管理制度
2015/08/06 职场文书
会计入职心得体会
2016/01/22 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA
pt-archiver 主键自增
2022/04/26 MySQL