Recently, I developed a customized viewer component specifically designed to showcase song sheets. One of my main objectives is to give users the ability to adjust font settings and other display preferences at their discretion. In order to accomplish this task effectively, I introduced a new view-customization component that integrates the font-customization component into its functionality.
https://i.sstatic.net/twK75.png
My current challenge involves transferring these customization settings from the view-customization component to the actual viewer component in an efficient manner. While I'm already utilizing @Input() and @Output() for data transfer between components, the sheer volume of information to be transferred (such as LyricsBold, LyricsItalic, LyricsColor, ChordsBold, ChordsItalic, etc.) makes creating individual inputs impractical. As a solution, I devised a unified object called ViewSettings to encapsulate all relevant settings. However, I am unsure about the best approach to send this object to the viewer component and update it accordingly whenever a property within ViewSettings changes.
I am seeking guidance on the most optimal method to achieve this seamless communication between components. Any insights or recommendations would be greatly appreciated!