render 中 slot 的一般默认使用方式如下: this.$slots.default 对用 template的<slot>的使用没有name 。 想使用多个slot 的话。需要对slot命名唯一。

在render函数中动态使用多个slot,并且给slot传值

一、我的业务逻辑:

使用了三个组件,

组件A调用组件B,组件B调用组件C,组件C是自己封装的render渲染组件。

组件A希望将自己自定义的插槽插到C组件,C组件渲染出自定义的内容,并且将C组件的值传递给B组件和A组件,B组件是对C组件进行更大一层的封装

A组件调用B组件

<index-grid><divslot="name"slot-scope="field"class="check-link"@click="rowLinkClick"><span>{{ field.field.rowData.name }}</span></div>
</index-grid>

A组件引用B组件,slot-scope接收从B组件中传出来solt的值,slot=“name”,是为插槽具名;

B组件中调用C组件的render函数

<sub-grid ref="indexGridSub"><spanv-for="(item, index) in fields":key="index"slot="name"slot-scope="field"><slot name="name" :field="field"></slot></span></sub-grid>

B组件span中 slot是动态的值,和A组件中的slot同一个值,才能接受来自A组件自定义的插槽,

field是来自于C组件中传递的值

C组件是render函数

h("td",{style: { width: field.width + "px" },class: { borderRight },// 作用域插槽格式// { name: props => VNode | Array<VNode> }scopedSlots: this.$scopedSlots.name,// 如果组件是其他组件的子组件,需为插槽指定名称slot: 'name'},this.$scopedSlots.name({field: field,rowData: rowData,}));

C组件往上传递的值就是{field:'', rowData: ''}的对象

欢迎关注我的个人技术公众号!javascript艺术

vue Render scopedSlots相关推荐

  1. vue render函数_Vue原理解析(一):Vue到底是什么?

    Vue,现在前端的当红炸子鸡,随着热度指数上升,实在是有必要从源码的角度,对它功能的实现原理一窥究竟.个人觉得看源码主要是看两样东西,从宏观上来说是它的设计思想和实现原理:微观上来说就是编程技巧,也就 ...

  2. Vue render渲染函数

    这里写自定义目录标题 Vue render渲染函数 基础 render渲染函数的作用 render函数讲解 render和template的区别 render举例 Vue render渲染函数 基础 ...

  3. vue render函数

    Vue中的Render渲染函数 VUE一般使用template来创建HTML,然后在有的时候,我们需要使用javascript来创建html,这时候我们需要使用render函数. 比如如下我想要实现如 ...

  4. vue render 渲染函数 属性写法

    // 数组映射 结构render: (h) => {let renderHtml = [];for (let attr in markLineName) {let itemData = mark ...

  5. vue render

    /** * render: 渲染函数 * 参数: createElement * 参数类型: Function */ render: function (createElement) { let _t ...

  6. vue render 渲染html,详解vue渲染函数render的使用

    1.什么是render函数? vue通过 template 来创建你的 HTML.但是,在特殊情况下,这种写死的模式无法满足需求,必须需要js的编程能力.此时,需要用render来创建HTML. 比如 ...

  7. iview render函数(vue render函数)

    iview 的render函数就是vue的render函数,iview常用在表格里面自定义内容,下面来看render函数常用的配置: 1. h是createdElement的简写,有3个参数: 语法: ...

  8. vue render生成html,在vue中如何渲染函数render(详细教程)

    本篇文章主要介绍了vue渲染函数render的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.什么是render函数? vue通过 template 来创建你的 ...

  9. render注册一个链接组件_[vue]render函数渲染组件

    常规渲染组件 1.放到对应的插槽 2,不会覆盖 {{msg}} let login = { template: " login zujian " }; let vm = new V ...

最新文章

  1. ibatis时间比较大小
  2. Linux报错./configure: error: C compiler cc is not found
  3. osgi:install_OSGi服务测试助手:ServiceCollector
  4. Period II(FZU-1901)
  5. 修改npm安装的全局路径和配置环境变量的坑
  6. ASP.net 省市级联(用户控件)适用用framework3.5以上版本
  7. NASA好奇号发来战报,32368张火星路况实拍数据集上线 | 资源
  8. Android 新建项目 页面
  9. WINDOWS XP下驱动开发环境设置(DDK+VC6.0)
  10. C语言题目设圆的半径为2.5,编程该圆的周长和面积。
  11. IIS 漏洞工具解析
  12. html中怎样设置放大功能,CSS如何设置图片放大效果?
  13. 前端自学学习笔记——JavaScript
  14. Geoffrey Hinton
  15. (SWERC 2017)
  16. 计算机考研时间科目,2018年考研初试各科目时间安排清单
  17. 操作系统中怎么预防死锁呢?简单列举几种方法!
  18. “常量中有换行符”的解决方法
  19. Ant工具 ant的安装与配置 ant作用
  20. Games101计算机图形学入门基础之二:光栅化

热门文章

  1. 固态硬盘寿命天梯 2023.3
  2. 寄存器>缓存>内存>硬盘
  3. 抗体优化新方法:通过AI预测亲和力和自然度
  4. Mac电脑连上wifi不能上网
  5. 谷歌深圳开办事处,想应聘?先来看看谷歌招过什么样的实习生
  6. 2012年中国软件业走势 机遇或大于挑战
  7. 手机安装gcc,编译c程序(unyaffs解压/包工具)
  8. Antenna Polarization
  9. 身份证最后一位校验算法-(ISO 7064:1983.MOD 11-2)
  10. 世界啤酒的起源--自由自在进口食品解读