Vue作用域插槽实现方法及作用详解


Posted in Javascript onJuly 08, 2020

默认插槽和具名插槽的概念比较好理解,这里主要以官方文档的案例来讲解一下作用域插槽。

首先是有一个currentUser的组件:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <current-user>
      {{ user.firstName }}
    </current-user>
  </div>
  <script src="vue.min.js"></script>
  <script>
    Vue.component('currentUser', {
      template: `
        <span>
          <slot>{{ user.lastName }}</slot>
        </span>
      `,
      data() {
        return {
          user: {
            firstName: 'w',
            lastName: 'ts'
          }
        }
      }
    })

    new Vue({
      el: '#app'
    })
  </script>
</body>
</html>

然而该页面无法正常工作,因为只有currentUser可以访问到user,出错的地方在这里:

Vue作用域插槽实现方法及作用详解

然后,引入一个插槽prop:

<span>
  <slot :user="user">
    {{ user.lastName }}
  </slot>
</span>

接着,需要给v-slot带一个值来定义我们提供的插槽 prop 的名字:

<current-user>
  <template v-slot="wts">
    {{ wts.user.firstName }}
  </template>
</current-user>

简单的讲作用域插槽就是让插槽内容能够访问子组件中才有的数据,修改后便可以正常工作了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js常见表单应用技巧
Jan 09 Javascript
在线编辑器中换行与内容自动提取
Apr 24 Javascript
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
JS删除字符串中重复字符方法
Mar 09 Javascript
JavaScript动态插入CSS的方法
Dec 10 Javascript
JS实现将数字金额转换为大写人民币汉字的方法
Aug 02 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
详解小程序如何避免多次点击,重复触发事件
Apr 08 Javascript
vue+axios实现post文件下载
Sep 25 Javascript
Vue 一键清空表单的实现方法
Feb 07 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 #Javascript
实例讲解React 组件生命周期
Jul 08 #Javascript
详细分析React 表单与事件
Jul 08 #Javascript
详解JavaScript之ES5的继承
Jul 08 #Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 #jQuery
微信小程序拖拽排序列表的示例代码
Jul 08 #Javascript
基于javascript canvas实现五子棋游戏
Jul 08 #Javascript
You might like
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP创建自己的Composer包方法
2018/04/09 PHP
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
PHP7新特性简述
2017/06/11 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
Python中的zip函数使用示例
2015/01/29 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
Django中create和save方法的不同
2019/08/13 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
HTML5的语法变化介绍
2013/08/13 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
C++面试题目
2013/06/25 面试题
销售自我评价
2013/10/22 职场文书
建议书怎么写
2014/03/12 职场文书
先进员工获奖感言
2014/08/14 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
五年级作文之劳动作文
2019/11/12 职场文书