zoukankan      html  css  js  c++  java
  • vue技术解析二之组件通信

    --------------------------动画效果-----------------------------------
    
    
    <transition name="router-fade" mode="out-in">
    	<router-view></router-view>
    </transition>
    
    .router-fade-enter-active, .router-fade-leave-active {
      	transition: opacity .3s;
    }
    .router-fade-enter, .router-fade-leave-active {
      	opacity: 0;
    }
    
    
    ----------------------父组件给子组件传参----------------------
    父组件
    <no-sociaty :datas='flag'></no-sociaty>
    export default{
    	data(){
    		return {
    			flag:'00000'
    		}
    	}
    }
    
    子组件
    <div>
    	{{datas}}
    </div>
    export default{
    	props:['datas']
    }
    
    
    props: {
        childMsg: {
            type: Array,
            default: [0,0,0] //这样可以指定默认的值
        }
    }

    方法的调用

    父组件
    <not-read :datas='table.data' :loadFlag='table.loadFlag' v-on:childEvent="parentMethod"></not-read>

       parentMethod(a){
          this.datas = a
      }

    子组件
    <p  class="more0" v-show="loadFlag" @click="$emit('childEvent',1)" >加载更多</p>

      created(){
          console.log(this.table.data);
          this.$emit('childEvent');

      }


    ----------------------子组件给父组件传参---------------------- 子组件 <button @click='send()'></button> export default{ methods:{ send:function(){ this.$emit('listen','11111') } } } 父组件 <v-child :listen='show()'> </v-child> export default { methods:{ show:function(data){ console.log(data) } } } ----------------------非父子组件给父组件传参---------------------- 方法1: new Vue({ el: '#app', router, render: h => h(App), data: { eventHub: new Vue() } }) 某一个组件内调用事件触发 //通过this.$root.eventHub获取此对象 //调用$emit 方法 this.$root.eventHub.$emit('YOUR_EVENT_NAME', yourData) 另一个组件内调用事件接受,当然在组件销毁时接触绑定,使用$off方法 this.$root.eventHub.$on('YOUR_EVENT_NAME', (yourData)=>{ handle(yourData) } ) 方法2: let Hub = new Vue(); //创建事件中心 组件1: <div @click="eve"></div> methods: { eve() { Hub.$emit('change','hehe'); //Hub触发事件 } } 组件2: <div></div> created() { Hub.$on('change', () => { //Hub接收事件 this.msg = 'hehe'; }); }

      

  • 相关阅读:
    [NOI2001]炮兵阵地
    POJ 2411 Mondriaan's Dream
    【模板】割点(割顶)
    [Noip2007]Core树网的核
    2018.09.09模拟总结
    2018.09.08模拟总结
    [USACO11JAN]Roads and Planes
    最优贸易
    [USACO08JAN]Telephone Lines
    Calabash(葫芦娃)
  • 原文地址:https://www.cnblogs.com/yiyi17/p/7593291.html
Copyright © 2011-2022 走看看