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 相关文章推荐
浅析Cookie中的Path与domain
Dec 18 Javascript
toggle()隐藏问题的解决方法
Feb 17 Javascript
js实现鼠标感应图片展示的方法
Feb 27 Javascript
jQuery Mobile动态刷新页面样式的实现方法
May 28 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 Javascript
DOM事件探秘篇
Feb 15 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 Javascript
在vue中axios设置timeout超时的操作
Sep 04 Javascript
JS算法教程之字符串去重与字符串反转
Dec 15 Javascript
JavaScript实现简单计时器
Jun 22 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数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
laravel model 两表联查示例
2019/10/24 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
js 省地市级联选择
2010/02/07 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
Python3.6正式版新特性预览
2016/12/15 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
Python元组知识点总结
2019/02/18 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
python 实现list或string按指定分段
2019/12/25 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
Python requests上传文件实现步骤
2020/09/15 Python
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
教师节班会开场白
2015/06/01 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript