So i have a complex date model coming from the server to feed my Angular2 component. Following shows a small part of the template for this component:
<input type="text" [(ngModel)]="Person.Address.City" />
Street: '123 somewhere',
City: 'some land'
So as it turns out, you either maintain 3 models, one for front-end (Angular2), one for middle tier (ASP.NET, JAVA, etc...) and another for your data model. Or you could make sure, as i did, that your middle-tier model will not have a null complex object. This means initializing complex properties inside your model and getting away with 2 models.
Also to note, if you have don't or can't modify your middle-tier model, then your only option is to create a compatible model for your front-end (Angular2) and merge as necessary once data has returned from API, service, etc..