I am reading some code that I want to update:
<b-input :value="value" @input="$emit('input', $event)" ref="input" :maxlength="maxlength"/>
what does @input="$emit('input', $event)" stand for?
Where and how can I listen for the input event?
what does @" /> what does @" /> what does @"/>
I am reading some code that I want to update:
<b-input :value="value" @input="$emit('input', $event)" ref="input" :maxlength="maxlength"/>
what does @input="$emit('input', $event)" stand for?
Where and how can I listen for the input event?
On
$emit is data passed to an other component, see this example:
Component: getEmit.vue
<template>
<!--get data-->
<button-emit v-on:data="getValue"></button-emit>
</template>
<script>
import buttonEmit from './buttonEmit'
export default {
name: 'getEmit',
components: { buttonEmit },
methods: {
// get payload in parameter
getValue(event) {
alert('Get Emit Success' + event)
}
}
}
</script>
Component: buttonEmit.vue
<template>
<button @click="emit($event)"></button>
</template>
<script>
export default {
name: 'buttonEmit',
methods: {
emit(event) {
// Emit text data the payload event
this.$emit('data', event)
}
}
}
</script>
@inputis the short-hand forv-on:inputwhich binds to the component'sinputevent.vm.$emitis documented here and has an example with a similar use-case here.In your case your component simply emits an event with the same name and the same arguments as the one it receives from its child
b-input. Programatically you can listen to these events withvm.$on, e.g. in yourmountedmethod: