Vue2.0组件间数据传递示例
程序员文章站
2023-11-18 22:37:40
vue1.0组件间传递
使用$on()监听事件;
使用$emit()在它上面触发事件;
使用$dispatch()派发事件,事件沿着父链冒泡;...
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组件间数据传递,希望对大家有所帮助
上一篇: 3个PHP多维数组转为一维数组的方法实例