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 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
window.js 主要包含了页面的一些操作
Dec 23 Javascript
通过一段代码简单说js中的this的使用
Jul 23 Javascript
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
vue2.0多条件搜索组件使用详解
Mar 26 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
vue实现自定义多选与单选的答题功能
Jul 05 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 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
加强版phplib的DB类
2008/03/31 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
javascript解析json实例详解
2014/11/05 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python+MongoDB自增键值的简单实现
2016/11/04 Python
python实现比较文件内容异同
2018/06/22 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
Python中的取模运算方法
2018/11/10 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python @property原理解析和用法实例
2020/02/11 Python
python datetime处理时间小结
2020/04/16 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
研发工程师的岗位职责
2013/11/18 职场文书
自我推荐信怎么写
2015/03/24 职场文书
公司搬迁通知
2015/04/20 职场文书
600字作文之感受大自然
2019/11/27 职场文书
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB
python 镜像环境搭建总结
2022/09/23 Python