vue slots 组件的组合/分发实例


Posted in Javascript onSeptember 06, 2018

使用slots 分发内容

使用组件时常常会有组件组合使用的情况,如下:

<componentA>
<componentB></componentB>
<componentC></componentC>
</componentA>

直接套用组件的话,父级组件会将子级组件覆盖掉,不能实现需求的效果,为了实现该效果就需要使用 slots来内容分发

slots的使用方法如下:

<body>
 <div id="app">
 <app>
  <child></child>
  <child2></child2>
 </app>
 </div>
 </body>
 <script>
  Vue.component('app',{
  template:'\
 <div>\
  <slot>没有则显示这个</slot>\
  <li>111</li>\
  <li>222</li>\
  <li>333</li>\
 </div>\
 ',
  })
  var app=new Vue({
  el:'#app',
  components:{
  'child':{
   template:'<div>hello word</div>'
  },
  'child2':{
   template:'<div>hello vue js</div>'
  }
 
  }
 
  })
 </script>

vue slots 组件的组合/分发实例

<app></app>标签没有引入其他组件时显示为图1,有其他组件时显示为图2

同时可以实测到可以引入多个并列的组件,组件会依次显示

但是这只能解决单个 组件的引入 ,实际应用中需要多个应用的组件会在多个位置,为了解决这个问题,就得确定slot位置的唯一性为了确定slot 的vue 中可以给slot 添加行内 name来识别 ,

需要注意的是:同一父级下的slot 添加行内 name必须保证唯一;

子组件下的slot 的name 是可以与父级组件的slot name 重复的,及每一级具有相对独立性。

代码效果图如下:

<body>
 <div id="app">
 <app>
  <child slot="slot1">
 
  </child>
 
  <div slot="slot2">How to use slot?</div>
 
 </app>
 </div>
 </body>
 <script>
  Vue.component('app',{
  template:'\
 <div>\
  <slot name="slot1">没有则显示这个</slot>\
  <li>111</li>\
  <li>222</li>\
  <slot name="slot2">没有则显示这个</slot>\
  <li>333</li>\
 </div>\
 ',
  })
  var app=new Vue({
  el:'#app',
  components:{
  'child':{
   template:'<div>hello word\
    <li>22222</li>\
   </div>'
  },
  'child2':{
   template:'<div>hello vue js</div>'
  }
 
  }
 
  })
 </script>

vue slots 组件的组合/分发实例

以上这篇vue slots 组件的组合/分发实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
Oct 14 Javascript
H5上传本地图片并预览功能
May 08 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
May 31 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
微信小程序与公众号卡券/会员打通的问题
Jul 25 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
antd配置config-overrides.js文件的操作
Oct 31 Javascript
React注册倒计时功能的实现
Sep 06 #Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 #Javascript
Vue文件配置全局变量的实例
Sep 06 #Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 #Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 #jQuery
Vue实现表格中对数据进行转换、处理的方法
Sep 06 #Javascript
vue生成文件本地打开查看效果的实例
Sep 06 #Javascript
You might like
php mssql 数据库分页SQL语句
2008/12/16 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
学习ExtJS form布局
2009/10/08 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
vue2滚动条加载更多数据实现代码
2017/01/10 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
python实现redis三种cas事务操作
2017/12/19 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
墨西哥购物网站:Elektra
2020/01/21 全球购物
外贸公司实习自我鉴定
2013/09/24 职场文书
求职简历自荐信
2013/10/20 职场文书
党组织公开承诺书
2014/03/29 职场文书
目标责任书范文
2014/04/14 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
行风评议整改报告
2014/11/06 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
Python OpenCV实现图形检测示例详解
2022/04/08 Python