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 相关文章推荐
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
js对文章内容进行分页示例代码
Mar 05 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
浅析Vue 生命周期
Jun 21 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
element跨分页操作选择详解
Jun 29 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
Jan 25 Javascript
详解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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
全面分析JavaScript 继承
2019/05/30 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
python实现无边框进度条的实例代码
2020/12/30 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
怎么写好自荐书
2014/03/02 职场文书
2014年林业工作总结
2014/12/05 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
MySQL RC事务隔离的实现
2022/03/31 MySQL