• 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',参数 =>{
      //处理数据
    })
     
  • 相关阅读:
    python全栈学习--day48
    python全栈学习--day47(HTML-----高级选择器与盒子模型等
    python全栈学习--day46(html---列表,标签,表格,表单,css引入与基本选择器)
    python-面向对象编程设计与开发
    python-知识点的复习2
    python-知识点的复习
    python-re模块
    python-logging模块
    python-hash和md5算法
    python-配置文件的处理configpasser模块
  • 原文地址:https://www.cnblogs.com/zhoubingyan/p/8607613.html
Copyright © 2020-2023  润新知