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 相关文章推荐
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 Javascript
JS中实现replaceAll的方法(实例代码)
Nov 12 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
JavaScript二维数组实现的省市联动菜单
May 08 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
javascript实现时间格式输出FormatDate函数
Jan 13 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
简化版的vue-router实现思路详解
Oct 19 Javascript
记录一次完整的react hooks实践
Mar 11 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
Oct 30 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 28 Javascript
javascript递归函数定义和用法示例分析
Jul 22 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
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
PHP中常用的魔术方法
2017/04/28 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
js评分组件使用详解
2017/06/06 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
Python 的 Socket 编程
2015/03/24 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
对python调用RPC接口的实例详解
2019/01/03 Python
Python代码太长换行的实现
2019/07/05 Python
Django的CVB实例详解
2020/02/10 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
Python如何读写CSV文件
2020/08/13 Python
Django admin组件的使用
2020/10/24 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
陈安之励志演讲稿
2014/08/21 职场文书
入团介绍人意见范文
2015/06/04 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
python turtle绘图命令及案例
2021/11/23 Python