2017-07-17 71 views
-1

這是事情。 我有一個在子組件中的按鈕,當我點擊按鈕它發出一個事件。我想在父組件掛載時觸發它,我該怎麼辦?還是有另一種方法來達到目標​​? PS:該按鈕由子組件中的v-for生成。如何觸發Vue中的點擊事件

+0

你可以添加一些代碼? – papey

+0

您可以手動調用'已掛接'鉤子中的偵聽器。分享一些代碼,如果它沒有幫助。 – wostex

+0

偵聽器需要來自子組件的一些參數。我不認爲代碼會有幫助,所以我沒有把它放在這裏。 – RaUnicorn

回答

1

你的孩子組件可能是這樣的:

<template> 
    <div class="child"> 
    <button @click="buttonClick">Button</button> 
    </div> 
</template> 

<script> 
    export default { 
    props: ['buttonId'], 
    methods:{ 
     buttonClick() { 
     this.$emit('buttonClick', this.buttonId) 
     } 
    } 
    } 
</script> 

和您的父母組件:

<template> 
    <div class="parent"> 
    <child v-for="i in 5" :buttonId="i"></child> 
    </div> 
</template> 

<script> 
    import Child from './Child.vue' 

    export default { 
    components: { 
     Child, 
    }, 
    methods: { 
     onButtonClick(buttonId) { 
     console.log('Got a click event from button ', buttonId) 
     } 
    }, 
    mounted() { 
     this.$children().forEach(function(child) { 
     child.buttonClick() 
     }) 
    } 
    } 
</script>