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 相关文章推荐
Windows Live的@live.com域名注册漏洞 利用代码
Dec 27 Javascript
jquery easyui combobox模糊过滤(示例代码)
Nov 30 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
JavaScript实现的伸展收缩型菜单代码
Oct 14 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
12条写出高质量JS代码的方法
Jan 07 Javascript
微信小程序云函数使用mysql数据库过程详解
Aug 07 Javascript
layui layer select 选择被遮挡的解决方法
Sep 21 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 Javascript
JavaScript实现简单验证码
Aug 24 Javascript
Vue仿Bibibili首页的问题
Jan 21 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
改变Apache端口等配置修改方法
2008/06/05 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
jQuery 学习入门篇附实例代码
2010/03/16 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
JavaScript闭包详解
2015/02/02 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
学雷锋演讲稿
2014/03/04 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
义和团口号
2014/06/17 职场文书
应聘护士求职信
2014/07/21 职场文书
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python