Jeżeli przesyłasz input wartość do innego komponentu potrzebujesz eventEmiter (bądż bind), przekazując wartość, jednakże w metodzie która przekazuje powinieneś uruchomić eventEmitera (spójrz dokumentacji $event). Po drugie output nie jest emiterem zdarzenia, tylko jakiś inny komponent (root ma v-bind) ale nie ma listenera w output który by nasłuchiwał, powinien być nasłuch a potem ponowne wysłanie na wskazany komponent metodą event. Osobiście radziłbym unikać takich rzeczy, lepiej użyć storeMenagment (np: Vuex), double-binding jest fajny gdy mamy rodzic-dziecko, ale dziecko-rodzic-dziecko radziłbym unikać takiej zależności. Po drugie zakładasz, że props jest zawsze obowiązkowe, czyli zakładasz, że rodzic zawsze przekaże jakieś wartości.