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 相关文章推荐
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
Sep 02 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
Jan 24 Javascript
javascript实现标签切换代码示例
May 22 Javascript
javascript用正则表达式过滤空格的实现代码
Jun 14 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
Vue项目中配置pug解析支持
May 10 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
vue resource发送请求的几种方式
Sep 30 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 Javascript
ztree+ajax实现文件树下载功能
May 18 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
十大“创意”战术!
2020/03/04 星际争霸
PHP新手上路(三)
2006/10/09 PHP
php模板中出现空行解决方法
2011/03/08 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
vue+element UI实现树形表格
2020/12/29 Vue.js
JavaScript实现手风琴效果
2021/02/18 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
python提示No module named images的解决方法
2014/09/29 Python
python 字典(dict)按键和值排序
2016/06/28 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
深入了解Django View(视图系统)
2019/07/23 Python
tensorflow如何批量读取图片
2019/08/29 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
python计算导数并绘图的实例
2020/02/29 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
教师实习自我鉴定
2013/12/11 职场文书
《海底世界》教学反思
2014/04/16 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers