面试中被问封装过哪些组件?都需要考虑什么?

来源: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项目中一些常见组件:搜索栏,表格,分页,模态框,表单等

祝学习愉快!

0

0 学习 · 15276 问题

查看课程