2017-01-18 81 views
0

如何刪除殭屍事件?Vue JS如何移除殭屍事件?

當向前切換時,返回$ on事件會執行很多次。

App.vue

<template> 
    <input type="button" @click.prevent="click()" value="click"> 
<template> 

<script> 
    export default { 
    methods: { 
     click: function(){ 
     this.$emit('go') 
     } 
    } 
    } 
<script> 

Children.vue

<script> 
    export default { 
    methods: { 
     go: function() { 
     console.log('event received') 
     } 
    }, 
    created: function(){ 
     this.$parent.$on('go', this.go); 
    } 
    } 
<script> 

回答

0

您需要刪除的事件,當你刪除的組件:

<script> 
    export default { 
    methods: { 
     go: function() { 
     console.log('event received') 
     } 
    }, 
    created: function(){ 
     this.$parent.$on('go', this.go); 
    }, 
    beforeDestroy: function(){ 
     this.$parent.$off('go',this.go); 
    } 
    } 
<script> 
+0

是的,這正是我需要的。謝謝。 –

0

click方法created生命週期掛鉤,所以它會被稱爲每當children組件將被渲染。

+0

對不起有一個錯誤 –