Vue2.0组件间数据传递示例


Posted in Javascript onMarch 07, 2017

Vue1.0组件间传递

  • 使用$on()监听事件;
  • 使用$emit()在它上面触发事件;
  • 使用$dispatch()派发事件,事件沿着父链冒泡;
  • 使用$broadcast()广播事件,事件向下传导给所有的后代

Vue2.0后$dispatch(),$broadcast()被弃用,见https://cn.vuejs.org/v2/guide/migration.html#dispatch-和-broadcast-替换

1,父组件向子组件传递场景:Father上一个输入框,根据输入传递到Child组件上。

父组件:

<template>
 <div>
  <input type="text" v-model="msg">
  <br>
  //将子控件属性inputValue与父组件msg属性绑定
  <child :inputValue="msg"></child>
 </div>
</template>
<style>

</style>
<script>
 export default{
  data(){
   return {
    msg: '请输入'
   }
  },
  components: {
   child: require('./Child.vue')
  }
 }
</script>

子组件:

<template>
 <div>
  <p>{{inputValue}}</p>
 </div>
</template>
<style>

</style>
<script>
  export default{
    props: {
     inputValue: String
    }
  }
</script>

2,子组件向父组件传值场景:子组件上输入框,输入值改变后父组件监听到,弹出弹框

 父组件:

<template>
 <div>
//message为子控件上绑定的通知;recieveMessage为父组件监听到后的方法
  <child2 v-on:message="recieveMessage"></child2>
 </div>
</template>
<script>
 import {Toast} from 'mint-ui'
 export default{
  components: {
   child2: require('./Child2.vue'),
   Toast
  },
  methods: {
   recieveMessage: function (text) {
    Toast('监听到子组件变化'+text);
   }
  }
 }
</script>

子组件:

<template>
 <div>
  <input type="text" v-model="msg" @change="onInput">
 </div>
</template>
<script>
 export default{
  data(){
   return {
    msg: '请输入值'
   }
  },
  methods: {
   onInput: function () {
    if (this.msg.trim()) {
     this.$emit('message', this.msg);
    }
   }
  }
 }
</script>

以上所述是小编给大家介绍的Vue2.0组件间数据传递,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
jquery+php实现搜索框自动提示
Nov 28 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
Jan 13 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
vue实现打印功能的两种方法
Sep 07 Javascript
Django+vue跨域问题解决的详细步骤
Jan 20 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
js实现网页定位导航功能
Mar 07 #Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 #Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 #Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 #Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 #Javascript
基于JavaScript实现图片剪切效果
Mar 07 #Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 #Javascript
You might like
PHP 加密与解密的斗争
2009/04/17 PHP
php读取html并截取字符串的简单代码
2009/11/30 PHP
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
JS 日期比较大小的简单实例
2014/01/13 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
python自动化测试实例解析
2014/09/28 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Python二元赋值实用技巧解析
2019/10/25 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
python三引号如何输入
2020/07/06 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
优秀导游先进事迹材料
2014/01/25 职场文书
大学军训感言800字
2014/02/27 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
低碳生活的宣传标语
2014/06/23 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript
python 多态 协议 鸭子类型详解
2021/11/27 Python
Python基本的内置数据类型及使用方法
2022/04/13 Python
Github 使用python对copilot做些简单使用测试
2022/04/14 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS