面试中被问封装过哪些组件?都需要考虑什么?
来源:3-16 vue组件可用render代替template
rootaaaaaaaaaaaaa
2021-10-28 00:16:34
最近面试中被问封装过哪些组件?封装组件的时候都需要考虑什么? 应该如何回答比较好呢?
1回答
好帮手慕然然
2021-10-28
同学你好,可以参考以下思路来回答:
首先,同学可以自己尝试简单的封装一下Toast弹窗组件(相关课程链接:https://class.imooc.com/lesson/1731#mid=42297),体会一下封装的过程,面试的时候才会有话可说。
其次,可以先总结一下封装组件必须具备高性能、低耦合的特性。然后可以从以下几个方面考虑:
1、父子组件间传值:为了解耦,子组件本身不能生成数据,数据要从父组件传入。父对子传值,需要用到props,如果应用场景比较复杂,对 props 传递的参数应该添加一些验证规则。子对父传参,需要使用事件绑定机制,利用 $emit 触发事件并传递参数。
2、slot定制插槽:一个组件往往不能够完美的适应所有应用场景,只要不是独立性很高的组件,建议都留一个 slot插槽,以便可以自定义内容,大大提高组件的灵活性。
3、子组件之间传值:可以合理利用Vuex,但不要滥用,Vuex 类似于一个全局变量,会一直占用内存,在写入数据庞大的 state 的时候,就会产生内存泄露。
4、组件的css:合理运用 scoped 控制样式作用域
最后,关于封装过哪些组件,建议同学如果有时间的话,可以自己练习封装一些比较简单的组件,比如vue项目中一些常见组件:搜索栏,表格,分页,模态框,表单等
祝学习愉快!
相似问题