首页 > 编程 > JavaScript > 正文

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

2019-11-19 17:16:31
字体:
来源:转载
供稿:网友

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组件间数据传递,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表