关于vue中组件传值的一些问题
一:父子组件之间的传值**
父组件传递给子组件:需要在子组件中通过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来维护共有的状态或数据会显得得心应手。
相关推荐
yuzhu 2020-11-16
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
sjcheck 2020-11-03
怪我瞎 2020-10-28
源码zanqunet 2020-10-28
gloria0 2020-10-26
王军强 2020-10-21
学习web前端 2020-09-28
QiaoranC 2020-09-25
anchongnanzi 2020-09-21
安卓猴 2020-09-12
Macuroon 2020-09-11
kiven 2020-09-11
LittleCoder 2020-09-11
Cheetahcubs 2020-09-13
小焊猪web前端 2020-09-10
颤抖吧腿子 2020-09-04
softwear 2020-08-21