It is easier to ask that I want to “extend a template” than to realize that we don’t know how exactly will I “extend” it. We have to realize that a template is basically a snippet of HTML — where HTML is an XML object containing many attributes and child nodes. So, when you say you want to extend a template, which exact object out of the many many XML nodes do you want to extend/change/customize?
You might want to reuse most of the HTML structure but just make one tiny little change in line #5. How would that actually work or translate to when dealing with the XML object?
I suppose the most common feel for the need to reuse a template is that you want to do something like this (i.e. snippet-reuse):
<org-base-tpl-html/>
<div>additional custom stuffs</div>
If that is the case, then you are better off using <eg-base> inside eg-child.component.html instead of trying to doing inheritance; I say this based on my understanding of OOP concepts and object inheritance vs. composition. If you still think or feel strongly that inheritance is what your solution requires, then I strongly suggest that you revisit the purpose and design of your components. You will then find that either you were trying to do inheritance only for convenience of implementation or that you purely want “snippet reuse” for consistency or that putting the base component in template of child component html is the way to go (composition).
Hope this helped.