I created this Scroll-based Progress bar components using Vue JS. This project goes over sharing props across multiple components using the emit function and it also shows off the mounted lifecycle method in VueJS.