一:父子组件之间的传值**
父组件传递给子组件:需要在子组件中通过props
接收值
子组件传递给父组件:$emit("自定义事件",要传输的值)
子--->父
在子组件中需要通过点击事件传递给父组件值,点击事件触发后,通过this.$emit("自定义事件",要传递的值)
**注意**在父组件接收时必须在对应的子组件接收相应的传值操作。
(图片是我盗的!侵删!!)
**注意**
动态数据需要用下图方式
二、通过路由带参数进行传值
①两个组件 A和B,A组件通过query把orderId传递给B组件(触发事件可以是点击事件、钩子函数等)
this.$router.push({ path: '/conponentsB', query: { orderId: 123 } }) // 跳转到B
②在B组件中获取A组件传递过来的参数
this.$route.query.orderId
三、通过设置 Session Storage缓存的形式进行传递(这个没用过)
①两个组件A和B,在A组件中设置缓存orderData
const orderData = { 'orderId': 123, 'price': 88 }
sessionStorage.setItem('缓存名称', JSON.stringify(orderData))
②B组件就可以获取在A中设置的缓存了
const dataB = JSON.parse(sessionStorage.getItem('缓存名称'))
此时 dataB 就是数据 orderData
五、vuex进行传值
为什么使用vuex?
vuex主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值(兄弟组件下又有父子组件),或者大型spa单页面框架项目,页面多并且一层嵌套一层的传值,异常麻烦,用vuex来维护共有的状态或数据会显得得心应手。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。