vue Render中slots的使用的实例代码


Posted in Javascript onJuly 19, 2017

本文介绍了vue Render中slots的使用的实例代码,有需要了解vue Render中slots用法的朋友可参考。希望此文章对各位有所帮助。

render 中 slot 的一般默认使用方式如下:

this.$slots.default 对用 template的<slot>的使用没有name 。

想使用多个slot 的话。需要对slot命名唯一。使用this.$slots.name 在render中添加多个slot。

<body> 
  <div class="" id="app"> 
  <myslot> 
    <div>this is slot</div> 
  </myslot> 
 
 
  </div> 
  <script> 
  Vue.component('myslot',{ 
    render:function(createElement){ 
       var he=createElement('div',{domProps:{innerHTML:'this child div'}}); 
      return createElement('div',[he,this.$slots.default]) 
      } 
  }); 
  var app=new Vue({ 
    el:'#app' 
  }) 
  </script> 
  </body>

多个slot的使用

<body> 
  <div class="" id="app"> 
  <myslot> 
    <div slot="name1">this is slot</div> 
    <div slot="name2">The position is slot2 </div> 
  </myslot> 
 
 
  </div> 
  <script> 
  Vue.component('myslot',{ 
    render:function(createElement){ 
       var he=createElement('div',{domProps:{innerHTML:'this child div'}}); 
      return createElement('div',[he,this.$slots.name2,this.$slots.name1]) 
      } 
  }); 
  var app=new Vue({ 
    el:'#app' 
  }) 
  </script> 
  </body>

在vue2.1.0新添加了scope(虽然感觉有点怪,但是用习惯了,还蛮好用的)。同样给出一般使用和多个使用示例,

<body> 
  <div class="" id="app"> 
  <myslot> 
    <template scope="props"> 
      <div>{{props.text}}</div> 
    </template> 
 
  </myslot> 
 
 
  </div> 
  <script> 
  Vue.component('myslot',{ 
    render:function(createElement){ 
       var he=createElement('div',{domProps:{innerHTML:'this child div'}}); 
      return createElement('div',[he,this.$scopedSlots.default({ 
        text:'hello scope' 
      })]) 
      } 
  }); 
  var app=new Vue({ 
    el:'#app' 
  }) 
  </script> 
  </body>

多个$scopedSlot的使用

<body> 
  <div class="" id="app"> 
  <myslot> 
    <template slot="name2" scope="props"> 
      <div>{{props.text}}</div> 
    </template> 
    <template slot="name1" scope="props"> 
      <span>{{props.text}}</span> 
    </template> 
 
  </myslot> 
 
 
  </div> 
  <script> 
  Vue.component('myslot',{ 
    render:function(createElement){ 
       var he=createElement('div',{domProps:{innerHTML:'this child div'}}); 
      return createElement('div', 
        [he, 
        this.$scopedSlots.name1({ 
        text:'hello scope' 
      }), 
        this.$scopedSlots.name2({ 
        text:'$scopedSlots using' 
      })]) 
      } 
  }); 
  var app=new Vue({ 
    el:'#app' 
  }) 
  </script> 
  </body>

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

Javascript 相关文章推荐
新发现一个骗链接的方法(js读取cookies)
Jan 11 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
详解jQuery lazyload 懒加载
Dec 19 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
May 01 Javascript
Element实现动态表格的示例代码
Aug 02 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 #Javascript
解决vue router使用 history 模式刷新后404问题
Jul 19 #Javascript
深入理解vue Render函数
Jul 19 #Javascript
Vue AST源码解析第一篇
Jul 19 #Javascript
Vue之Watcher源码解析(1)
Jul 19 #Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 #Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 #Javascript
You might like
第八节--访问方式
2006/11/16 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
Vue中props的详解
2019/05/16 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python读写文件write和flush的实现方式
2020/02/21 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
python Matplotlib模块的使用
2020/09/16 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
高中班主任寄语
2019/06/21 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
MySQL分区表实现按月份归类
2021/11/01 MySQL