javascript - v-on :change. Native 未绑定(bind)在父组件 : Vue. js 中

标签 javascript vue.js vuejs2 vue-component

我有一个带有复选框输入的组件:

<template>
    <input id='one' type='checkbox' v-on:change.native="$emit('change')" />
</template>

我在另一个组件中使用此组件:

<template>
....
    <Checkbox v-on:change="change" />
....
</template>
<script>
    import Checkbox from './components/Checkbox.vue'

    export default {
        components: {
            Checkbox
        },
        methods: {
            change: function (e) { 
                console.log(e);
        },
    }
</script>

我想要的是附加父组件方法,它必须指向子组件事件。 问题是当复选框更改时,此 change 事件不会触发。

最佳答案

您需要使用复选框的 input 事件。我还建议使用 v-on="$listeners"除非您确实需要将事件命名为 'change'

Checkbox.vue

<template>
  <input
    type="checkbox"
    v-on="$listeners"
  >
</template>

index.vue

<template>
  <Checkbox @input="input" />
</template>

<script>
import Checkbox from '~/components/Checkbox.vue';

export default {
  components: {
    Checkbox,
  },
  methods: {
    input(e) {
      console.log(e);
    },
  },
};
</script>

关于javascript - v-on :change. Native 未绑定(bind)在父组件 : Vue. js 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53981181/

相关文章:

javascript - 如何通过单个index.js文件正确渲染多个React组件?

javascript - 使用javascript查找经纬度

javascript - 如何使用属性来获取 JSON 值?

javascript - 如何在音频时间更新上获取 clientx

mysql - (axios) HTTP POST 请求两分钟后失败,Laravel 5 + VueJS

javascript - 如何获取Vue模板中点击的组件的id(或任何其他属性)?

javascript - 如何在计算中使用其他计算属性

javascript - 如何重用方法: define in main object and call from all component in VueJS

javascript - Vue2 watch 设置不工作

javascript - 在循环内的 Vue js 中使用 Split