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 相关文章推荐
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
Jan 07 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
jQuery时间轴插件使用详解
Jul 16 Javascript
浅析JS运动
Dec 28 Javascript
原生JS轮播图插件
Feb 09 Javascript
ES6入门教程之let和const命令详解
May 17 Javascript
说说node中的可读流和可写流的区别
Jun 01 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 Javascript
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
jQuery实现全选按钮
Jan 01 jQuery
详解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将向Java靠拢
2006/10/09 PHP
来自PHP.NET的入门教程
2006/10/09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python 中字典嵌套列表的方法
2018/07/03 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
python写程序统计词频的方法
2019/07/29 Python
python如何将多个PDF进行合并
2019/08/13 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
工程承包协议书
2014/04/22 职场文书
党建工作整改措施
2014/10/28 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书