I'm not saying that parent/child components can't communicate, but you should aim to design components in such a way that they're flexible. Use events or the Vuex store depending on the structure of your application. Here's an example using an event instead:
methods: {
completeTodo(todo) {
this.$emit('completeTodo', todo)
}
}