slot 插槽,主要用来做内容分发

主要有三种操作方式:

默认插槽

具名插槽

作用域插槽

默认插槽

没有太多的逻辑,就是把父组件的内容分发到子组件的指定位置

// 父组件

{{msg}}

// 子组件

我是作用域插槽的子组件

默认内容

具名插槽

这里就是加了一个指向,不同的内容分发到不同的指定位置

// 父组件

父组件header内容
父组件footer内容

// 子组件

我是作用域插槽的子组件

作用域插槽

就是将子组件的数据反馈到父组件,父组件对数据进行编辑,然后在插入到子组件指定位置

// 父组件

{{item}}

// 子组件

面试题:你如何能判断到子组件的插槽是否有内容?

乍一听一脸懵逼,感觉怎么会有这种问题。但是仔细想的话,确实是有这种业务场景的,只是我没有涉及到过。现在想到了一个方法,就是在插槽内定义一个默认dom,如果赋值了,dom就获取不到。

我认为从优先级上讲,是否有内容本身应该在父组件调用插槽的时候判断,因为那时是有原始对象的,当然知道有没有值了。当然,这就要求子组件生产随机id了。

当然,这是我大概找到的思路,因为没有真实的场景,所以暂时想出一个思路,场景是比较单纯的。之后如果遇到真实场景了,再看看这个思路是否可行吧,或者是否有别的办法。

// 父组件

{{msg}}

// 子组件

// 子组件js

mounted () {

var dom = document.querySelector('#defaultId')

if (!dom) {

console.log('有内容')

} else {

console.log('无内容')

}

},

vue插槽面试题_Vue 的slot插槽 及一个奇怪的面试题相关推荐

  1. 前端学习(2716):重读vue电商网站36之slot插槽使用

    项目需求:由于用户列表状态后台返回的是 true/false,无法进行渲染,而我们需要的是有一个Switch开关来控制我们的状态.添加一个template 模板后,此时就可以用 slot-scope  ...

  2. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  3. 前端框架Vue:组件之间的通信、插槽的使用

    Vue组件与插槽 一.组件化开发思想 组件化规范 Web Components 我们希望尽可能多的重用的代码 自定义组件的方式不太容易(html,js ,css) 多次使用组件可能导致冲突 二.组件注 ...

  4. vite+vue3使用slot插槽

    如何简单明了使用slot插槽 在官网已经表明如何使用,但我觉得看的有点小乱,本文章记录一下,也是整理自己的思路 使用solt的理由:在不同的组件使用,它最核心的地方展示是不一样的,但其它的地方是一样的 ...

  5. 细致讲解slot插槽的使用

    1.什么是插槽 VUE官方文档的解释: Vue 实现了一套内容分发的 API,将 <slot> 元素作为承载分发内容的出口. 个人理解: 插槽实质是对子组件的扩展,通过<slot&g ...

  6. vue中slot(插槽)详解,slot、slot-scope和v-slot

    slot是什么 slot,也称插槽,可以类比为插卡式的FC游戏机,游戏机(子组件)暴露卡槽(插槽)让用户插入不同的游戏磁条(自定义内容),游戏机会读取并加载磁条里的游戏 Vue的slot,是组件的一块 ...

  7. Vue 中 slot插槽 的使用

    Vue 中 slot插槽 的使用 插槽就是子组件提供给父组件使用的一个占位符,用<slot></slot>表示, 父组件可以在这个占位符填充任何模板代码,如HTML.组件等,填 ...

  8. vue slot scope使用_20、slot插槽的用法

    重点: 单个插槽.具名插槽.作用域插槽的用法: 访问插槽的方法. 其实本小白对插槽理解的还不深,哪些场景会经常用到插槽也不了解. 但是本着"大胆猜测"的理念,我的猜测如下: 假设有 ...

  9. vue设置标签自定义属性_Vue组件化开发之插槽

    插槽为组件提供了强大的扩展能力.我们可以把电脑的主板理解为一个已经封装好的组件,主板上都会预留各种插槽,我们可以往插槽中插入内存条.显卡.声卡等设备.基于同样的思想,Vue在封装组件时,也可以预留插槽 ...

最新文章

  1. PIM-SM DR指定路由器以及 PIM-DM指定前转器的区别 【转自网络】
  2. SAP CRM email office integration
  3. Aho-Corasick automaton 模板
  4. java工程师面试几百问_不是吧?面试被问了几百遍的JVM,你还搞不清楚?
  5. C#调用matlab,matlab图形Figure嵌入Winform窗体
  6. 【WPF】使用SVG资源
  7. web的UI自动化实现步骤
  8. error obtaining controller instance: failed to create NAT chain
  9. frida 挂钩_您必须知道的预提交挂钩
  10. 1.3 基于协同过滤的电影推荐案例
  11. english words
  12. 触控科技CEO陈昊芝谈移动游戏市场趋势变化
  13. python tkinter canvas 画心形
  14. MapReduce求两个人的共同好友算法
  15. RPA不是“万灵丹”,需人机分工内控风险
  16. python将十位数变成0_Python:战略性地通过0-9的十位数字
  17. win7系统损坏无法开机_win7系统网络适配器无法启动怎么办
  18. 驱动开发:内核枚举DpcTimer定时器
  19. 斯坦福CS224n NLP课程【十四】——树RNN递归和短语句法分析
  20. Java定义学生数学成绩_java程序设计,求代码 1.定义学生类,学生类有学号,姓名,语文成绩,数学成绩的属性和有参的构造...

热门文章

  1. ModuleNotFoundError: No module named ‘pandas.rpy‘
  2. Terraform 是什么?
  3. R聚类(整群)抽样(Cluster Sampling)
  4. python根据二叉树的前序遍历和中序遍结果历重建二叉树
  5. matplotlib画图、如何提高图像分辨率?
  6. Hadoop安装教程_分布式集群
  7. RNA-seq中的生物学重复
  8. 什么是RNA-Seq (RNA Sequencing)
  9. JAVA基础2-输出语句
  10. 改变div php,js改变div样式