Я не совсем понимаю, вы перебираете массив людей, которые находятся в объекте с именем MyObj? (поэтому должно быть *ngFor="let t of MyObj.persons"
)
Также, если вы используете сторонний компонент, он действительно зависит от ожидаемого ввода этого указанного c компонента.
Для обычного angular шаблон, вставленный с использованием шаблона, вы можете передать переменную, например, такую:
<ng-container *ngTemplateOutlet="myTemplate; context: { first: 1, second: 2}"></ng-container>
<ng-template #myTemplate let-xxx="second">
<h2>This is my template: {{ xxx }}</h2>
</ng-template>
Или, если вы перебираете массив и хотите передать текущий элемент массива:
<div *ngFor="let person of MyObj.persons">
<ng-container *ngTemplateOutlet="MyCustomTemplate; context: { data: person}"></ng-container>
</div>
<ng-template #MyCustomTemplate let-person="data">
{{ person | json }}
</ng-template>
рабочий пример: https://stackblitz.com/edit/angular-3wljij