I have an app with several CRUD pages which will involve multi-select options. Ideally, I would like to have a component that does a sort standardish side by side list of available options on the left and selected options on the right. I believe I can work out how to do this part. I would use a an array as an input (avlOption = input.required<any[]>() or similar). However, the problem is that the avlOption list might actually be so large that I would need it to be pageable. I'd thought that perhaps i might be able to create a data service interface with a getPage() method which is implemented by 'n' number of services and i would somehow pass in the service as an input to the component (dataService = input.required<DataService>(); ... data=this.dataservice.getPage(pageNum) or similar). Googling this I found a couple of ways to do it but both seem to generally be discouraged. What would be the best way then to accomplish this? Continue reading...