The ng-content is to be used to define where you want the content of your component to go, explanation follows :
Say you define your own component with its template and a selector 'my-cmp', if you use it as such : <my-cmp><div>content</div></my-cmp>
, the div inside your component must go somewhere, that is what you define in the template when you implement my-cmp. Say : <h1>my component title</h1><ng-content></ng-content>
your div will go where the ng-content is placed.
Now if you want to have multiple views I believe it's a design issue, and it would most likely be two different components, and then a parent container would contain them both. This parent container could communicate with your service and give your child components the model they need to display themselves. They could emit an event when the user does something, that the parent catches, triggers a service call, and feeds them the updated model through data binding.
Or if you want to display one or the other maybe it can be handled with routes ?
Or a last way would be a ng-if, if you have a certain state in your model then display one child component, otherwise display the other.
If you are a bit more specific about the need you have I could mock up some code.