v-slot和slot、slot-scope之间相互替换实例


Posted in Javascript onSeptember 04, 2020

如果组件文档里面用的是v-slot,而你用的是vue2.6之前的版本,则需要替换v-slot:所以有两种替换方式,注意看两块v-slot有啥不同,你就知道你该怎么用slot-scope和slot来替换文档中的v-slot了

v-slot使用方式1:

<template v-slot:operate="{ row }"><template>

则可替换为:

<template slot="operate" slot-scope="{ row }"></template>

v-slot使用方式2:

<template v-slot="{ row }"><template>

则可替换为:

<template slot-scope="row"></template>

先记录后期再完善,赶项目去了

补充知识:V-for and slot-scoped报错问题

此场景是为了用v-for动态渲染表格的slot

可能会这么写

<a-table>
 <span v-for="(item, index) in header" :key="index" :slot="item.dataIndex" slot-scope="text" >
  {{ text }}
 </span>
</a-table>

但是这样子会报错,因为v-for和slot-scope在同一级

Ambiguous combined usage of slot-scope and v-for on (v-for takes higher priority). Use a wrapper < template> for the scoped slot to make it clearer.

提示在外边包一层< template>,于是你可能改成下面这样,但是也会报错

<a-table>
 <template v-for="(item, index) in header" :key="index">
 <span :slot="item.dataIndex" slot-scope="text" >
  {{ text }}
 </span>
 </template>
</a-table>
< template> cannot be keyed. Place the key on real elements instead.

提示< template>template不能写key, 即使没有这个错,表格数据也不会渲染出来,因为这一层没有slot,应该说slot应该是放最外面,同时把:key放里面

改成如下

<a-table>
 <template v-for="(item, index) in header" :slot="item.dataIndex" slot-scope="text">
 <span :key="index">
  {{ text }}
 </span>
 </template>
</a-table>

以上解决问题

有个slot没有渲染的问题

<template v-for="(slotname, idx) in ['status', 'sub_account_status']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  <a-tag v-if="text === '正常'" color="blue">{{ text }}</a-tag>
  <a-tag v-else color="red">{{ text }}</a-tag>
  </span>
 </template>
 <!-- 包名称、关联账号 -->
 <template v-for="(slotname, idx) in ['app_name', 'roles']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  <a-tooltip placement="top" >
  <template slot="title">
  <span v-for="(item, index) in text" :key="index">{{ item }}<br/></span>
  </template>
  <div class="tableHidden">
  <a-tag v-for="(item, index) in text" :key="index">{{ item }} </a-tag>
  </div>
  </a-tooltip>
  </span>
 </template>

好像是因为2个v-for="(slotname, idx)"里的slotname名字一样了,对的,就是取的临时变量名,修改成不一样的就好了,神奇

<template v-for="(name, idx) in ['status', 'sub_account_status']" :slot="name" slot-scope="text" >
  // 上面那个name
  <span :key="idx">
  。。。
  </span>
 </template>
 <!-- 包名称、关联账号 -->
 <template v-for="(slotname, idx) in ['app_name', 'roles']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  。。。
  </a-tooltip>
  </span>
 </template>

以上这篇v-slot和slot、slot-scope之间相互替换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于this和self的使用说明
Aug 01 Javascript
细说javascript函数从函数的构成开始
Aug 29 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
ext combobox动态加载数据库数据(附前后台)
Jun 17 Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 Javascript
你知道setTimeout是如何运行的吗?
Aug 16 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
Angularjs之filter过滤器(推荐)
Nov 27 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
详解VUE2.X过滤器的使用方法
Jan 11 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 #Javascript
解决vue scoped scss 无效的问题
Sep 04 #Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 #Javascript
基于vue中的scoped坑点解说
Sep 04 #Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 #Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 #Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 #Javascript
You might like
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php图像处理类实例
2015/07/28 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
angular+webpack2实战例子
2017/05/23 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
python计算方程式根的方法
2015/05/07 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python3多线程操作简单示例
2018/05/22 Python
python 剪切移动文件的实现代码
2018/08/02 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
python相对企业语言优势在哪
2020/06/12 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
Python的collections模块真的很好用
2021/03/01 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
什么是属性访问器
2015/10/26 面试题
给校长的建议书200字
2014/05/16 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
党性观念心得体会
2014/09/03 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
欢迎新生标语2015
2015/07/16 职场文书
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python