Вы можете сделать это, создав компонент для таблицы отдельно. Я могу дать вам базовую идею, и вы сможете разработать ее в соответствии с вашими требованиями.
Скажем, вы создаете таблицу-компонент. Компонент таблицы будет иметь таблицу и paginator. Но содержимое этой таблицы передается из другого родительского компонента в table-component.ts. Итак, в вашей таблице-component.ts:
@Input()
dataSource = [] // this dataSource is pulled from parent-conponent.ts
В вашей таблице-компонент. html:
<table mat-table [dataSource]=dataSource>
.
.
.
</table>
В родительском компоненте, когда вы хотите отобразить таблицу , parent-component. html:
<table-component [dataSource]='yourArray'>
В каком бы компоненте вы ни находились, вызовите вышеуказанный и отправьте свой массив. Будет отображаться таблица, и это можно использовать повторно. Надеюсь, это было то, что вы хотели.