这是我参与「第四届青训营 」笔记创作活动的第五天。
组队完成平台任务时,同学们分别实现不同的功能,后续进行组合时,需要考虑数据在不同组件间传递的问题。本文记录了我在解决数据传递时遇到的问题。
一、试图获取其他同学的数据时,我使用了父子组件数据传递方法,另外学习了兄弟组件传递数据两种方法。这两种都是VUE经典的数据传递方式。
1,父子组件/兄弟组件数据传递:
使用时,首先要明确组件各自的对应关系,
父组件传递给子组件数据:使用 prop 给子组件向下传递数据。
子组件传递给父组件数据:使用this.$emit触发事件传递数据。
兄弟组件互相传递数据:使用公共文件bus.js进行相互传值操作。
注意:
(1)父组件传递给子组件的值只能被读取不能被修改,如果想要进行修改操作,可以将传递值的赋值给一个子组件中的自定义变量,间接地对数据进行修改操作。
(2) 使用时需要注意父子组件传值的触发条件,是同步还是异步请求;注意接受的参数性质,是静态数据还是动态数据;注意传递的数据的性质以及个数。
(3)判断组件之间的关系.
二、VUE版本问题
问题表现:与其他同学的组件配合时,显示Error:error:0308010C:digital envelope routines::unsupported错误。
错误原因:使用的node版本不匹配,高于17的nodejs经常会遇到这种问题。
解决流程:
1,卸载NODEJS
2,安装NVM
3,在命令提示符的管理员模式下,使用NVM安装使用低版本的NODEJS运行程序