【问题标题】:How can I trigger a click event in Vue [closed]如何在Vue中触发点击事件[关闭]
【发布时间】:2017-12-21 15:47:38
【问题描述】:

事情就是这样。 我在子组件中有一个按钮,当我单击该按钮时,它会发出一个事件。我想在挂载父组件的时候触发,怎么办?还是有其他方法可以达到目标? PS:按钮是通过子组件中的v-for生成的。

【问题讨论】:

  • 你能添加一些代码吗?
  • 你可以在mounted钩子里手动调用一个监听器。如果没有帮助,请分享一些代码。
  • 监听器需要来自子组件的一些参数。我不认为代码会有帮助,所以我没有把它放在这里。

标签: javascript vue.js vuejs2 vue-component


【解决方案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(child => {
        child.buttonClick()
      })
    }
  }
</script>

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2020-10-05
    • 1970-01-01
    • 2018-02-09
    • 2023-03-27
    • 2011-01-23
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多