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 相关文章推荐
ext 列表页面关于多行查询的办法
Mar 25 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
Jan 24 Javascript
防止jQuery ajax Load使用缓存的方法小结
Feb 22 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
prototype框架中美元符号$用法分析
Jan 22 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
Validform表单验证总结篇
Oct 31 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
深入解析Vue 组件命名那些事
Jul 18 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
Aug 27 Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 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函数解决SQL injection
2006/12/09 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python 没有main函数的原因
2020/07/10 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
安全环保演讲稿
2014/08/28 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
2014年电教工作总结
2014/12/19 职场文书
公司年夜饭通知
2015/04/25 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android