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中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
JS中的substring和substr函数的区别说明
May 07 Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 Javascript
javascript中setInterval的用法
Jul 19 Javascript
解决Angular.Js与Django标签冲突的方案
Dec 20 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
小程序实现分类页
Jul 12 Javascript
createObjectURL方法实现本地图片预览
Sep 30 Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php截取中文字符串不乱码的方法
2013/12/25 PHP
PHP的全局错误处理详解
2016/04/25 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
js仿360开机效果
2019/12/26 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
深入解答关于Python的11道基本面试题
2017/04/01 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Python对象的属性访问过程详解
2020/03/05 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
小学综治宣传月活动总结
2014/07/02 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis