今天学习了组件之间的数据共享,然后又学习了ref,ref可以用来操作dom,ref也可以用来引用组件实例,打印this.$refs就是子组件,然后数据也都可以拿到,那为什么不通过ref子组件来实现数据共享呢?
1条回答 默认 最新
- 林地宁宁 2022-07-22 02:48关注
可以是可以,但这样破坏了封装性。vue 允许 ref,是为了某些特殊情况下用 ref 实现比较方便,而这样子就像有一张“看不见的手”在外面操纵着组件。
如果整个项目组只有你一个人工作在这个模块上,或者说文档里面强调了 ref 的相关信息,还可以接受;倘若没有人清楚 ref 这块的数据传递和共享机制,对接手的人来说就是个大粪坑。
尽管大家排斥这种破坏封装性的设计,但是不得不说有些时候,有这种“全局”的东西,写起来就是舒服。BTW,无论是 vue 还是 react 都有一些全局的库,就是为了避免冗余数据多次传递的,比如 vue 中的 vuex 和 react 中的 redux。只能说我们对这种东西是又爱又恨了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染