首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
讲一下组件库封装思路,包括:属性透传、事件设计、插槽(含作用
[问答题]
讲一下组件库封装思路,包括:属性透传、事件设计、插槽(含作用域插槽)。
添加笔记
求解答(0)
邀请回答
收藏(4)
分享
纠错
2个回答
添加回答
0
我从未看清
组件库封装: 就是组件存在需要多处使用的情况,抽离封装成一个组件。 属性透传:父组件上, 在引用的组件上将绑定的属性编写好,会透传给封装组件中,这里props我们只用去接收自定义的属性。 原生属性会被$attrs携带, 只需要写v-bind = $attrs 就可以将原生属性透传到子组件上。 这里Vue2和Vue3也有区别。 Vue2:需要 inheritAttrs: false 手动关闭接收到的属性自动挂载到子组件根元素上, 且手动添加v-bind = $attrs Vue3: 如果是在子组件的根元素上, 就不用手动添加,否则依然需要手动添加,这里讲细致一点得通过defineOptions 区把inheritAttrs: false 给关闭。 然后跟Vue2一样手动添加。 事件设计: Vue3: v-bind = $attrs 会把属性和事件一起透传。 Vue2: v-on="$listeners" 事件透传。 插槽: 其实就是在封装的组件上放置插槽 默认插槽<slot> 具名插槽<slot name="sss"> 作用域插槽<slot :row=""> 这里重点讲一下作用域插槽, 作用域插槽会把数据row传递给父组件, 父组件用v-slot去接收 一个对象, 对象里就可以调用row的数据</slot></slot></slot>
发表于 2025-11-30 21:06:26
回复(0)
0
秋水夏树
1. 属性透传。自动接收未声明的 props 属性。v-bind="$attrs"。为了支持原生属性。事件透传 2. 事件设计。提供清晰的事件接口,父组件绑定自定义事件触发回调 3. 插槽:默认插槽,具名插槽,作用域插槽(子组件提供数据,父组件控制渲染逻辑)
发表于 2025-09-25 12:24:34
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
来自:
Vue-牛客面经八股
难度:
2条回答
4收藏
245浏览
热门推荐
相关试题
何时需要自定义指令?指令的生命周期...
评论
(1)
来自
Vue-牛客面经八股
请系统讲讲 Vue2 与 Vue3...
评论
(16)
来自
Vue-牛客面经八股
路由懒加载与按需加载如何配置,为什...
评论
(1)
来自
Vue-牛客面经八股
keep-alive 的缓存策略、...
评论
(2)
来自
Vue-牛客面经八股
从 0 到 1 设计一个可复用的弹...
评论
(0)
来自
Vue-牛客面经八股
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题