vue传值

2022-12-30,

在vue 中组件间的传参是必不可少的,下面说下几种传参方式

1.父组件传值给子组件,首先父组件发送的形式是用bind(用缩写:)绑定值到子组件身上。然后子组件用属性props接收

2.子组件传值父组件,首先是子组件发送的形式是this.$emit(事件名,需要发送的值),事件名:父组件on监听的方法,父组件第一件事就是监听子组件发送过来的事件名,@事件名=获取值的方法。获取值的方法(值)*,就这样拿到了儿子发过来的值

3.兄弟传值,两个都要引入公共js->bus。首先是发送者,this.$emit(名字,值)。然后是接受者,this.$on("传过来的那个名字",函数(值)),这里要注意的是接受者的这个监听事件应该是放在钩子mounted事件内。同时注意this指向问题。(可用封装方法)

上面几种是常用的方式  还可以使用provide 和 inject  这个是在父组件 provide 注入数据 ,在每个子组件中都可以通过 inject 去接受参数

在父组件中

export default {
data() {
return {
msg: 'hello vue+webpack',
fromName : {
msg : 'i love you'
},
loginForm: {
username: "cg",
password: "23455",
code: "2334",
redomStr: ""
},
}
},
provide () {
return {
fromHome: this.fromName
}
},

 在子组件中

<template>
<div>我是注入的看看
<div>{{fromHome.msg}}</div>
</div> </template> <script>
export default {
inject: ['fromHome']
}
</script>

  这里要注意的是 在父组件中注入的参数需要是data 种注册的对象,否则在父组件中值变化后在子组件中不会更新。

vue传值的相关教程结束。

《vue传值.doc》

下载本文的Word格式文档,以方便收藏与打印。