页面组件引入问题

来源:4-9 Dropdown 组件添加 DropdownItem

慕粉孔帅

2022-01-11

老师,学完这节课我有一些想法,想听一下您的意见。
对于这节课的三个组件:GlobalHeader、Dropdown、DropdownItem,他们的关系应该是父子孙的关系。
按照正常开发顺序来说(也就是我要是开发的话,会这样写):父组件引入子组件,子组件引入孙组件,父组件传值只会传子组件需要的值,子组件只会传孙组件需要的值;您现在的写法是父组件把子组件和孙组件都引入了,这样的话在传值方面的不同点在于父组件给孙组件传值,需要通过子组件过渡一下。
您这种写法肯定是没有问题的,我测试了一下按照我那种写法也没有问题。在实际项目开发中,我能否继续使用我那种思路来做?因为您这种思路毕竟会复杂一点,在多个页面嵌套的时候容易混乱,我也是思考了半天才理解了你代码的逻辑
写回答

1回答

张轩

2022-01-12

同学你好

非常感谢你的问题 我认为这个问题是仁者见仁的问题 你当然可以按照自己的思路 严格按照父子组件的传值方式进行下去,在我的这个场景下,其实 Dropdown、DropdownItem 是脱离 GlobalHeader 的存在,因为 Dropdown 两个是可以重用的通用组件,而 GlobalHeader 更贴近一个业务组件。

如果你去看不同的组件库,比如:https://element-plus.gitee.io/zh-CN/component/dropdown.html#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95

就会发现它都采用的是这种书写方式,因为更语义化,用户更容易理解。

0
1
慕粉孔帅
懂了,谢谢老师,还是会能力不够,继续学习吧!
2022-01-12
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程