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 相关文章推荐
JavaScript 判断指定字符串是否为有效数字
May 11 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
javascript操作表格排序实例分析
May 06 Javascript
简介JavaScript中toUpperCase()方法的使用
Jun 06 Javascript
基于Bootstrap3表格插件和分页插件实例详解
May 17 Javascript
node.js的事件机制
Feb 08 Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 Javascript
浅谈vuex 闲置状态重置方案
Jan 04 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
深入浅析Node环境和浏览器的区别
Aug 14 Javascript
ES6中Symbol、Set和Map用法详解
Aug 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
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
Python常用算法学习基础教程
2017/04/13 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
主管会计岗位责任制
2014/02/10 职场文书
创新型城市实施方案
2014/03/06 职场文书
学生会主席竞聘书
2014/03/31 职场文书
财产公证书格式
2014/04/10 职场文书
产品设计开发计划书
2014/05/07 职场文书
新年寄语2016
2015/08/17 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python