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写法
Sep 15 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
Easyui form combobox省市区三级联动
Jan 13 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
Bootstrap 中data-[*] 属性的整理
Mar 13 Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 Javascript
node使用async_hooks模块进行请求追踪
Jan 28 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
?算你??的 PHP 程式大小
2006/12/06 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
让您的菜单不离网站
2006/10/03 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
5种Python单例模式的实现方式
2016/01/14 Python
python实现决策树分类(2)
2018/08/30 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
小学生倡议书范文
2014/05/13 职场文书
入党综合考察材料
2014/06/02 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2015年组织部工作总结
2015/04/03 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python