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 相关文章推荐
JQuery 简便实现页面元素数据验证功能
Mar 24 Javascript
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
Oct 23 Javascript
jQuery中map()方法用法实例
Jan 06 Javascript
在Python中使用glob模块查找文件路径的方法
Jun 17 Javascript
JS更改select内option属性的方法
Oct 14 Javascript
js实现C#的StringBuilder效果完整实例
Dec 22 Javascript
你所未知的3种Node.js代码优化方式
Feb 25 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
vue生命周期的探索
Apr 03 Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
微信小程序实现拍照和相册选取图片
May 09 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
如何做到多笔资料的同步
2006/10/09 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
Python使用py2exe打包程序介绍
2014/11/20 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
实践Vim配置python开发环境
2018/07/02 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
新闻专业学生的自我评价
2014/02/13 职场文书
捐资助学倡议书
2014/04/15 职场文书
初中生操行评语大全
2014/04/24 职场文书
欢度春节标语
2014/07/01 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书