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 相关文章推荐
javascript 原型继承介绍
Aug 30 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
Dec 24 Javascript
node.js将MongoDB数据同步到MySQL的步骤
Dec 10 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
VUE2.0中Jsonp的使用方法
May 22 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
Jul 31 Javascript
elementUI同一页面展示多个Dialog的实现
Nov 19 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
javascript 弹出层组件(升级版)
2011/05/12 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python查询IP地址归属完整代码
2017/06/21 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Mac安装python3的方法步骤
2019/08/09 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
python实现文字版扫雷
2020/04/24 Python
python变量的作用域是什么
2020/05/26 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
美术社团活动总结
2014/06/27 职场文书
解约证明模板
2015/06/19 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书