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中判断控件是否存在
Aug 25 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
JS实现随机化快速排序的实例代码
Aug 01 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
使用 stylelint检查CSS_StyleLint
Apr 28 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
Mar 09 Javascript
基于vue+canvas的excel-like组件实例详解
Nov 28 Javascript
基于openlayers4实现点的扩散效果
Aug 17 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
详解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
php入门学习知识点三 PHP上传
2011/07/14 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
js window.onload 加载多个函数的方法
2009/11/02 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
Python2实现的LED大数字显示效果示例
2017/09/04 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python中的for循环
2018/09/28 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
旅游个人求职信范文
2014/01/30 职场文书
物资采购方案
2014/06/12 职场文书
住房抵押登记委托书
2014/09/27 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
Python Django模型详解
2021/10/05 Python