美文网首页
VUE的三种传参方式

VUE的三种传参方式

作者: 垂直居中的句号 | 来源:发表于2023-01-28 17:37 被阅读0次
  1. 父传子
    可以通过 V-bind 动态 绑定需要传的值
    父组件:

     <template>
    

    <div>
    父组件:
    <input type="text" v-model="name">





    <child :inputName="name"></child>
    </div>
    </template>
    <script>
    import child from './child'
    export default {
    components: {
    child
    },
    data () {
    return {
    name: ''
    }
    }
    }
    </script>
    子组件:

    <template>
    <div>
    子组件:
    <span>{{inputName}}</span>
    </div>
    </template>
    <script>
    export default {
    // 接受父组件的值
    props: {
    inputName: String,
    required: true
    }
    }
    </script>

  1. 子传父

子:通过 this.$emit("事件名A",传的值)
父:<Child @事件名A=“获取值的方法B”/>

methods: {
获取值的方法B: function (形参) {
this.name = 形参
// this.name 是父组件中想要接收 子组件传的值的 值,随便写的,不一定是他。
}
}

  1. 兄弟之间传值

(非父子组件之间传值,需要定义个公共的公共实例文件bus.js,作为中间仓库来传值,不然路由组件之间达不到传值的效果。)
要通过引入第三方文件 bus.js
传值的一方使用 bus.emit('名字A',传的值) 接收的一方使用 bus.on('名字A',函数(传的值))
⚠️: 函数要写在 mounted 里面

公共bus.js

//bus.js
import Vue from 'vue'
export default new Vue()

<template>
<div>
A组件:
<span>{{elementValue}}</span>
<input type="button" value="点击触发" @click="elementByValue">
</div>
</template>
<script>
// 引入公共的bug,来做为中间传达的工具
import Bus from './bus.js'
export default {
data () {
return {
elementValue: 4
}
},
methods: {
elementByValue: function () {
Bus.$emit('val', this.elementValue)
}
}
}
</script>

<template>
<div>
B组件:
<input type="button" value="点击触发" @click="getData">
<span>{{name}}</span>
</div>
</template>
<script>
import Bus from './bus.js'
export default {
data () {
return {
name: 0
}
},
mounted: function () {
var vm = this
// 用on事件来接收参数 Bus.on('val', (data) => {
console.log(data)
vm.name = data
})
},
methods: {
getData: function () {
this.name++
}
}
}
</script>

相关文章

  • vue - 路由带参跳转

    vue路由传参按照传参方式可划分为params传参和query传参; params传参分为在url中显示和影藏参数...

  • vue 路由传参的三种方式

    vue路由传参方式 params query vuex + sessionStore

  • vue-router

    vue传参两种方式 1、对象传参2、路径传参 vue路由两种模式 1、hash模式 onhashchange2、h...

  • vue传参的三种方式

    1.在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的...

  • vue路由传参及解决vue路由传参页面刷新参数丢失问题

    Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下:注意: 获取参数的时候是route,跳转和传参的...

  • 31.vue传参

    1.vue传参 vue传参使用路由传参params,query,或者使用vuex,localStorage,vue...

  • vue路由传参

    原生JS 传参 Vue 传参 使用 传参数 第一种方法 第二种方法 点击事件传参 第三种...

  • nuxt路由及传参

    最近的nuxt项目中经常会用到路由传参,故在此有所总结了下nuxt中传参的方式和vue项目中传参的方式 nuxt ...

  • vector 作为函数参数

    参考 C++(笔记)容器(vector)作为函数参数如何传参 vector作为参数的三种传参方式

  • python函数详解

    函数定义 格式 函数定义实例: 5050 三种传参方式 按位置顺序传参 李诗才 按关键字传参,参数顺序可以任意 李...

网友评论

      本文标题:VUE的三种传参方式

      本文链接:https://www.haomeiwen.com/subject/wwxuhdtx.html