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 相关文章推荐
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
Apr 20 Javascript
js实现StringBuffer的简单实例
Sep 02 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
AngularJS封装$http.post()实例详解
May 06 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
详解vue的数据劫持以及操作数组的坑
Apr 18 Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 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函数解决SQL injection
2006/12/09 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
详解python中的json的基本使用方法
2016/12/21 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
邀请函怎么写
2015/01/30 职场文书
个园导游词
2015/02/04 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers