Vue匿名插槽与作用域插槽的合并和覆盖行为


Posted in Javascript onApril 22, 2019

Vue 测试版本:Vue.js v2.5.13

Vue 文档:

<slot> 元素可以用一个特殊的特性 name 来进一步配置如何分发内容。多个插槽可以有不同的名字。具名插槽将匹配内容片段中有对应 slot 特性的元素。

仍然可以有一个匿名插槽,它是默认插槽,作为找不到匹配的内容片段的备用插槽。

具体应用的时候:

1、匿名插槽的合并行为:

<div id="app">
    <myele>
      <div>
        default slot
      </div>
      <div>
        <div>from parent!</div>
        <div>from parent!</div>
      </div>
    </myele>
  </div>
window.onload = function() {
  Vue.component('myele', {
    template: `         
     <div>
     <slot></slot>
     </div>
    `
  }); 
  new Vue({
    el: '#app'
  });
};

效果:内容合并

Vue匿名插槽与作用域插槽的合并和覆盖行为

2、匿名作用域插槽的覆盖行为:

<div id="app">
    <myele>
      <div slot-scope="props">
        <div>from parent!</div>
        <div>from {{props.text}}</div>
      </div>
      <div slot-scope="prop">
        <div>from </div>
        <div>{{prop.text}}</div>
      </div>    
    </myele>
  </div>
window.onload = function() {
  Vue.component('myele', {
    template: `         
     <div>     
     <slot text="child"></slot>
     <slot text="child2"></slot>
//即使 text 和上一行一样,也不会报错,开发环境     </div>
    `
  }); 
  new Vue({
    el: '#app'
  });
};

效果:以靠后的作用域插槽模板为准,绘制了两遍;

Vue匿名插槽与作用域插槽的合并和覆盖行为

3、匿名插槽模板和作用域插槽模板混合:

<div id="app">
    <myele>
      <div>
        default slot
      </div>      
      <div slot-scope="props">
        <div>from parent!</div>
        <div>from {{props.text}}</div>
      </div>
    </myele>
  </div>
window.onload = function() {
  Vue.component('myele', {
    template: `         
     <div>     
     <slot></slot>
     <slot text="child"></slot>
     </div>
    `
  }); 
  new Vue({
    el: '#app'
  });
};

效果:匿名插槽以匿名作用域插槽模板为准进行渲染,即使你把匿名插槽模板放后面,也是一样的结果;

Vue匿名插槽与作用域插槽的合并和覆盖行为

由此可以看出,最好不要使用匿名、默认插槽,最好使用具名插槽,可以减少不确定性;

参考文档:

https://cn.vuejs.org/v2/guide/components.html#具名插槽

总结

以上所述是小编给大家介绍的Vue匿名插槽与作用域插槽的合并和覆盖行为,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
JS功能代码集锦
May 04 Javascript
JavaScript代码性能优化总结篇
May 15 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
Javascript 基础---Ajax入门必看
Jul 06 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
学习使用ExpressJS 4.0中的新Router的用法
Nov 06 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
Aug 20 Javascript
Vue实现push数组并删除的例子
Nov 01 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
vue+iview分页组件的封装
Nov 17 Vue.js
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 #Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 #Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 #Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 #Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 #Javascript
说说如何利用 Node.js 代理解决跨域问题
Apr 22 #Javascript
详解Vue中使用Axios拦截器
Apr 22 #Javascript
You might like
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
3种方法轻松处理php开发中emoji表情的问题
2016/07/18 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
phpfpm的作用和用法
2019/10/10 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
wxPython的安装与使用教程
2018/08/31 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python3正则模块re的使用方法详解
2020/02/11 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
法人授权委托书格式
2014/04/08 职场文书
医生见习报告范文
2014/11/03 职场文书
春风化雨观后感
2015/06/11 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android