vue单页开发父子组件传值思路详解


Posted in Javascript onMay 18, 2018

vue单页开发时经常需要父子组件之间传值,自己用过但是不是很熟练,这里我抽空整理了一下思路,写写自己的总结。

GitHub地址:https://github.com/leileibrother/wechat-vue

文件目录如下图,example.vue是父组件,exampleChild.vue是子组件。

vue单页开发父子组件传值思路详解

父组件引入子组件,父组件html的代码如下:

<template> 
 <div> 
  <h3>这是父组件</h3> 
  <p style="margin: 20px 0;text-align: center;"> 
   <span>子组件传过来的值是 “{{childValue}}”</span> 
  </p> 
  <example-child v-bind:message="parentMsg" @getChildValue="getValue"></example-child> 
 </div> 
</template> 
<script> 
 import exampleChild from './examplechild.vue'; 
 export default { 
  name: "example.vue", 
  components: { 
   exampleChild 
  }, 
  data(){ 
   return { 
    parentMsg:'hello', 
    childValue:'' 
   } 
  }, 
  mounted(){ 
  }, 
  methods: { 
   getValue:function (val) { 
    this.childValue = val; 
   } 
  } 
 } 
</script> 
<style scoped> 
</style>

子组件代码如下:

<template> 
 <div> 
  <p style="margin: 20px 0;text-align: center;">我是子组件,父组件穿传过来的值是{{message}}</p> 
  <p style="margin: 20px 0;text-align: center;"> 
   <button @click="send">点击向父组件传值</button> 
  </p> 
 </div> 
</template> 
<script> 
 export default { 
  name: "exampleChild.vue", 
  props:['message'], 
  data(){ 
   return { 
   } 
  }, 
  mounted(){ 
  }, 
  methods: { 
   send:function () { 
    this.$emit('getChildValue','你好父组件!') 
   } 
  } 
 } 
</script> 
<style scoped> 
</style>

1,父组件向子组件传值。

在父组件中使用v-bind来绑定数据传给子组件,如我写的v-bind:message="parentMsg",把message字段传给子组件,

vue单页开发父子组件传值思路详解

在子组件中使用props接收值,如props:['message'],接收父组件传过来的message字段,使用{{message}}就是可以使用父组件传过来的值了。

vue单页开发父子组件传值思路详解

2,子组件向父组件传值。

子向父传值需要一个“中转站”,如我写的getChildValue,命名随便写。

在子组件中使用$emit()来向父组件传值。第一个参数就是这个“中转站”,后面的参数是要传的值,可以是多个。

vue单页开发父子组件传值思路详解

在父组件中如下,也需要这个中转站来接收值

vue单页开发父子组件传值思路详解

getValue是接收子组件值的函数,参数val就是子组件传过来的值,这样就可以接收到子组件传过来的值了。

vue单页开发父子组件传值思路详解

总结

以上所述是小编给大家介绍的vue单页开发父子组件传值思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
window.location.hash 使用说明
Nov 08 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 Javascript
折叠菜单及选择器的运用
Feb 03 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
Mar 17 Javascript
js实现简单的点名器随机色实例代码
Sep 20 Javascript
Node.js Buffer用法解读
May 18 #Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 #Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
May 18 #Javascript
webpack4 css打包压缩问题的解决
May 18 #Javascript
微信小程序实现长按删除图片的示例
May 18 #Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
May 18 #Javascript
Vue数据双向绑定原理及简单实现方法
May 18 #Javascript
You might like
php共享内存段示例分享
2014/01/20 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
python实现的多线程端口扫描功能示例
2017/01/21 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
pycharm导入源码的具体步骤
2020/08/04 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
人民教师求职自荐信
2014/03/12 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
迟到检讨书
2015/01/26 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
Python进行区间取值案例讲解
2021/08/02 Python
Redis 常见使用场景
2021/08/30 Redis