zoukankan      html  css  js  c++  java
  • vue--非父子组件之间的传值

    一个项目都有一个根组件 App.vue 

    一个根组件下面可能会有多个自组件,例如:Hello.vue 和 Header.vue

    Hello.vue 和 Header.vue 就是兄弟组件,那么这两个兄弟组件之间又是如何传值的呢?

    一个项目都有一个根组件 App.vue

    一个根组件下面可能会有多个自组件,例如:Hello.vue 和 Header.vue

    Hello.vue 和 Header.vue 就是兄弟组件,那么这两个兄弟组件之间又是如何传值的呢?

    // 第一步:引入个空的vue实例
    import Vue from 'vue'
    // 第二步:实例化这个空的vue
    var vueEvent = new Vue();
    // 第三步:将它暴露出去
    export default vueEvent;

    接下来:Hello是父组件,下面有两个:Header.vue组件和News.vue组件:

    <template>
      <div id="Hello">
        {{title}}
        <v-header></v-header>
        <v-news></v-news>
      </div>  
    </template>
    <script>
    import Header from './Header.vue';
    import News from './News.vue';
    export default {
      name: 'Hello',
      data () {
        return {
          title:'我是Hello组件'
        }
      },
      methods:{
        run(){},
      },
      components:{
        'v-header':Header,
        'v-news':News,
      }
    }
    </script>

    News.vue进行广播

    <template>
      <div id="News">
        {{title}}
        <input type="button" value="广播" @click="run()">
      </div>  
    </template>
    <script>
    import vueEvent from '../model/vueEvent.js';
    export default {
      name: 'Header',
      data () {
        return {
          title:'我是News组件'
        }
      },
      methods:{
        run(){
            //进行广播
            vueEvent.$emit('toHeader',this.title);
        },
      }
    }
    </script>

    Header.vue进行接收

    <template>
      <div id="Header">
        {{title}}
      </div>  
    </template>
    <script>
    import vueEvent from '../model/vueEvent.js';
    export default {
      name: 'Header',
      data () {
        return {
          title:'我是Header组件'
        }
      },
      methods:{
        run(){},
      },
      mounted(){
        //加载的时候就要进行接收
        vueEvent.$on('toHeader',function(data){
          console.log(data);
        })
      }
    }
    </script>
  • 相关阅读:
    蓝牙的HFP协议笔记
    23种设计模式
    读QT5.7源码(三)Q_OBJECT 和QMetaObject
    实现私有化(Pimpl) --- QT常见的设计模式
    蓝牙Profile的概念和常见种类(转)
    git分支合并
    git log的常见用法
    QThread详解
    git查看某个文件的修改历史
    因为代理原因导致的NotSerializableException
  • 原文地址:https://www.cnblogs.com/e0yu/p/9801553.html
Copyright © 2011-2022 走看看