How do you communicate from child to parent using events?
If you want child wants to communicate back up to the parent, then emit an event from child using $emit object to parent:
1 2 3 4 5 6 7 8 9 10 11 12 | Vue.component('todo-tem', { props: ['todo'], template: ` <div class="todo-item"> <h3>{{ todo.title }}</h3> <button v-on:click="$emit('increment-count', 1)"> Add </button> <div v-html="todo.description"></div> </div> ` }) |
Now you can use this todo-item in parent component to access the count value.
1 2 3 4 5 6 7 8 9 10 11 | <ul v-for="todo in todos"> <li> <todo-item v-bind:key="todo.id" v-bind:todo="todo" v-on:increment-count="total += 1" /></todo-item> </li> </ul> <span> Total todos count is {{total}}</span> |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.