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 相关文章推荐
一个JavaScript的求爱小特效
May 09 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
通过JS动态创建一个html DOM元素并显示
Oct 15 Javascript
理解jQuery stop()方法
Nov 21 Javascript
node.js 使用ejs模板引擎时后缀换成.html
Apr 22 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
Jun 02 Javascript
原生js实现鼠标跟随效果
Feb 28 Javascript
AngularJS路由实现页面跳转实例
Mar 03 Javascript
vue cli2.0单页面title修改方法
Jun 07 Javascript
vue监听滚动事件的方法
Dec 21 Vue.js
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代码
2007/03/08 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
Python中的类与对象之描述符详解
2015/03/27 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
python中class的定义及使用教程
2019/09/18 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
办理暂住证介绍信
2014/01/11 职场文书
班主任评语大全
2014/04/26 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
个人主要事迹材料
2014/08/26 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
西安大雁塔导游词
2015/02/10 职场文书
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android