vue学习笔记之slot插槽基本用法实例分析


Posted in Javascript onFebruary 01, 2020

本文实例讲述了vue学习笔记之slot插槽基本用法。分享给大家供大家参考,具体如下:

不使用插槽,在template中用v-html解析父组件传来的带有标签的content

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <child content="<p>Rachel</p>"></child>
</div>
</body>
</html>
<script>
  Vue.component('child', {
    props: ['content'],
    template: '<div>
            <p>hello</p>
            <div v-html="this.content"></div>
          </div>'
  })
  var vm = new Vue({
    el: '#app'
  })
</script>

使用插槽,如果父组件为空,就会显示slot中定义的默认内容

<child>
  <p>Rachel</p>
</child>
Vue.component('child', {
   template: '<div>
          <p>hello</p>
          <slot>默认内容</slot>
        </div>'
})

使用插槽添加header和footer,使用‘具名插槽',也就是给插槽起个名字,各找各的位置。此处也可以写默认值,如果父组件没有对应的插槽内容的话,会显示子组件定义的插槽的默认值。

<div id="app">
  <body-content>
    <div class="header" slot="header">header</div>
    <div class="footer" slot="footer">footer</div>
  </body-content>
</div>
Vue.component('body-content', {
  template: '<div>
         <slot name="header">default header</slot>
         <div class="content">content</div>
         <slot name="footer">default footer</slot>
        </div>'
})

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
JS打开图片另存为对话框实现代码
Dec 26 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
JS取得绝对路径的实现代码
Jan 16 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
基于javascript实现最简单的选项卡切换效果
May 16 Javascript
node中间层实现文件上传功能
Jun 11 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
详解JS数组方法
Nov 20 Javascript
JS中forEach()、map()、every()、some()和filter()的用法
May 11 Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 #Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 #Javascript
Jquery Datatables的使用详解
Jan 30 #jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 #jQuery
js页面加载后执行的几种方式小结
Jan 30 #Javascript
javascript设计模式之装饰者模式
Jan 30 #Javascript
原生js+ajax分页组件
Jan 30 #Javascript
You might like
php实现httpclient类示例
2014/04/08 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
js实现网页收藏功能
2015/12/17 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
vscode vue 文件模板的配置方法
2019/07/23 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python中多线程thread与threading的实现方法
2014/08/18 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python单元测试简单示例
2018/07/03 Python
python程序控制NAO机器人行走
2019/04/29 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
顶岗实习计划书
2014/01/10 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers
Nginx配置使用详解
2022/07/07 Servers
数据设计之权限的实现
2022/08/05 MySQL