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

Vue1.0组件间传递

使用$on()监听事件;

使用$emit()在它上面触发事件;

使用$dispatch()派发事件,事件沿着父链冒泡;

使用$broadcast()广播事件,事件向下传导给所有的后代

Vue2.0后$dispatch(),$broadcast()被弃用,见-和-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组件间数据传递,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwpwg.html