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


Posted in Javascript onFebruary 12, 2019

本文实例分析了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 对象中

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

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组件之间数据传递的方法实例分析

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

Javascript 相关文章推荐
为JavaScript类型增加方法的实现代码(增加功能)
Dec 29 Javascript
验证控件与Button的OnClientClick事件详细解析
Dec 04 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
使用javascript插入样式
Mar 14 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
Vue 拦截器对token过期处理方法
Jan 23 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
Nov 06 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
JS实现骰子3D旋转效果
Oct 24 Javascript
vue添加class样式实例讲解
Feb 12 #Javascript
Vue中使用canvas方法总结
Feb 12 #Javascript
通过npm或yarn自动生成vue组件的方法示例
Feb 12 #Javascript
js实现json数组分组合并操作示例
Feb 12 #Javascript
vue文件运行的方法教学
Feb 12 #Javascript
vue的for循环使用方法
Feb 12 #Javascript
JavaScript常用工具方法封装
Feb 12 #Javascript
You might like
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
PHP实现倒计时功能
2020/11/16 PHP
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
webpack学习--webpack经典7分钟入门教程
2017/06/28 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
python 截取 取出一部分的字符串方法
2017/03/01 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
入团者的自我评价分享
2013/12/02 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
三年级学生评语大全
2014/12/26 职场文书
店铺转让协议书
2015/01/29 职场文书