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截取固定长度的中英文字符的简单实例
Nov 22 Javascript
js获取电脑分辨率的思路及操作
Nov 22 Javascript
JS数组的赋值介绍
Mar 10 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
javascript实现数据双向绑定的三种方式小结
Mar 09 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
node.js学习之事件模块Events的使用示例
Sep 28 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
Feb 27 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 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和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
JS控件的生命周期介绍
2012/10/22 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
详解django2中关于时间处理策略
2019/03/06 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
pytorch SENet实现案例
2020/06/24 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
美术毕业生求职信
2014/02/25 职场文书
房地产活动策划方案
2014/05/14 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
nginx配置指令之server_name的具体使用
2022/08/14 Servers