vue组件之间数据传递的方法实例分析

 更新时间:2019年02月12日 11:44:17   作者:东边的小山  
这篇文章主要介绍了vue组件之间数据传递的方法,结合实例形式分析了vue.js父组件与子组件之间数据传递相关操作技巧,需要的朋友可以参考下

本文实例分析了vue组件之间数据传递的方法。分享给大家供大家参考,具体如下:

1、props:父组件 -->传值到子组件

app.vue是父组件 ,其它组件是子组件,把父组件值传递给子组件需要使用 =>props

在父组件(App.vue)定义一个属性(变量)sexVal = '男'  把该值传递给 子组件(B.vue),如下:

App.vue

<template>
 <div id="app">
  <!--<router-view></router-view>-->
 <parentTochild :sex="sexVal"></parentTochild>
  </div>
</template>
<script>
 import parentTochild from './components/B'
 export default {
  name: 'app',
  data: function () {
   return {
    sexVal:"女"
   }
  },
  methods: {
  },
  components: {
   parentTochild
  }
 }
</script>

B.vue

<template>
 <div class="b_class"> <!--外边只允许有一个跟元素-->
   <p>父组件传值给子组件</p>
   <p>姓名:{{name}}</p>
   <p>年龄:{{age}}</p>
   <p>sex:{{sex}}</p>
 </div>
</template>
<script>
 export default {
  data: function () {
   return {
    name: 'zs',
    age: 22
   }
  },
  props:['sex']
 }
</script>

tips:

在父传值给子组件使用属性值:props; 理解成 “ 中介” 父组件绑定传递属性值(:sex="sexval") 子组件 获取属性值 props['sex'] 会添加到data 对象中

 

2、$emit:子组件 -->传值到父组件

在B.vue 子组件添加一个点击事件为例子

@click="sendMs

<input type="button" @click="sendMsg" value="子组件值传父组件">

在调用该函数后使用$emit方法传递参数 (别名,在父组件作为事件名称, 值);

methods: {
   sendMsg: function () {
    this.$emit('childMsg', '值来自---子组件值')
   }
}

App.vue

在父组件中 使用该别名(作为事件名使用),调用方法 childEvent 返回子组件传过来的值

<p>{{message}}</p>
  <!--<router-view></router-view>-->
<parentTochild :sex="sexVal" @childMsg = "childEvent"></parentTochild>

data: function () {
   return {
    sexVal: "女",
    message: ''
   }
},
methods: {
   childEvent: function (msg) {
     this.message = msg;  // msg 来自子组件
   }
}

点击 “按钮”值会传到 父组件中。 组件之间不能互相传值。

 

希望本文所述对大家vue.js程序设计有所帮助。

相关文章

  • Vue2响应式系统之嵌套

    Vue2响应式系统之嵌套

    这篇文章主要介绍了Vue响应式系统之嵌套,我们在开发中肯定存在组件嵌套组件的情况,下文将举例说明情况,需要的小伙伴可以参考一下
    2022-04-04
  • vue-cli3跨域配置的简单方法

    vue-cli3跨域配置的简单方法

    这篇文章主要给大家介绍了关于vue-cli3跨域配置的简单方法,文中通过示例代码介绍的非常详细,对大家学习或者使用vue-cli3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • vue中的可拖拽宽度div的实现示例

    vue中的可拖拽宽度div的实现示例

    本文主要介绍了vue中的可拖拽宽度div的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)

    vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)

    这篇文章主要介绍了vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue之自定义事件内容分发详解

    Vue之自定义事件内容分发详解

    这篇文章主要为大家介绍了Vue的自定义事件内容分发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • vue使用axios时关于this的指向问题详解

    vue使用axios时关于this的指向问题详解

    最近在学习使用vue+axios,在使用中发现了一个问题,下面总结分享给大家,这篇文章主要给大家介绍了关于vue使用axios时this的指向问题的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • electron-vue利用webpack打包实现多页面的入口文件问题

    electron-vue利用webpack打包实现多页面的入口文件问题

    项目需要在electron的项目中新打开一个窗口,利用webpack作为静态资源打包器,发现在webpack中可以设置多页面的入口,今天来讲一下我在electron中利用webpack建立多页面入口的踩坑经验,需要的朋友可以参考下
    2019-05-05
  • Vue单文件组件的如何使用方式介绍

    Vue单文件组件的如何使用方式介绍

    本篇文章主要介绍了Vue单文件组件的如何使用方式介绍,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 在vue中给后台接口传的值为数组的格式代码

    在vue中给后台接口传的值为数组的格式代码

    这篇文章主要介绍了在vue中给后台接口传的值为数组的格式代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 详解vue3 响应式的实现原理

    详解vue3 响应式的实现原理

    Vue.js 3.0 为了解决 Object.defineProperty 的这些缺陷,使用 Proxy API 重写了响应式部分,并独立维护和发布整个 reactivity 库,这篇文章主要介绍了vue3 响应式的实现原理,需要的朋友可以参考下
    2022-06-06

最新评论