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/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
script不刷新页面的联动前后代码
Sep 18 Javascript
jQuery数据类型小结(14个)
Jan 08 Javascript
前端JS面试中常见的算法问题总结
Dec 23 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
Jun 17 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
探秘vue-rx 2.0(推荐)
Sep 21 Javascript
JavaScript常用数组操作方法,包含ES6方法
May 10 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
vue2.0 实现富文本编辑器功能
May 26 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生成静态文件的多种方法分享
2012/07/17 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
node.js中的require使用详解
2014/12/15 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
vue弹窗组件的实现示例代码
2018/09/10 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
使用PYTHON创建XML文档
2012/03/01 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
《童年》教学反思
2014/02/18 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
六一亲子活动总结
2014/07/01 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书