vue组件通信传值操作示例
程序员文章站
2022-05-14 09:09:39
本文实例讲述了vue组件通信传值操作。分享给大家供大家参考,具体如下:
父子组件通信:
子组件
...
本文实例讲述了vue组件通信传值操作。分享给大家供大家参考,具体如下:
父子组件通信:
子组件
<template> <div> <h3 @click="alerrt"> 我是子组件一</h3> <span>{{parentmessage}}</span> </div> </template> <script> export default{ props: ['parentmessage'], mounted() { // this.$emit('childevent'); }, methods:{ alerrt(){ this.$emit('childevent',{name:'zhangsan',age:10 }); } } } </script> <style scoped> </style>
父组件
<template> <div> <h2>父组件</h2> <span>父组件传递消息给子组件</span> <br> <router-view @childevent="parentmethod" :parentmessage="parentmessage" /> <!-- <child-one :parentmessage="parentmessage"></child-one> --> <button type="" @click='extendtest'>extend</button> <div id="extend"></div> </div> </template> <script> import childone from './childone' export default{ components: { childone }, methods: { parentmethod({name,age}) { alert(this.parentmessage); console.log(this.parentmessage,name,age); }, extendtest() { console.log('333'); var extend = vue.extend({ template: '<p>{{firstname}} {{lastname}} aka {{alias}}</p>', data: function () { return { firstname: 'walter', lastname: 'white', alias: 'heisenberg' } } }) new extend().$mount('#extend') }, }, data () { return { parentmessage: '我是来自父组件的消息aaaa' } } } </script> <style scoped> </style>
兄弟组件通信:
在main,js里加
import vue from 'vue' window.eventbus = new vue();
在组件里
兄弟1组件:
window.eventbus.$emit('函数名称', {参数 键:值});
兄弟2组件:
window.eventbus.$on('grouprecording',参数 =>{ //处理数据 })
希望本文所述对大家vue.js程序设计有所帮助。
下一篇: 微信小程序拍照和摄像功能实现方法示例