I have an outer component (blue-green) featuring some flexbox toolbars with a bunch of my own `ui-button` buttons. And an inner component, mostly doing its thing in the brown area (as you would expect).

[![](https://i.stack.imgur.com/vsWi3.png)](https://i.stack.imgur.com/vsWi3.png)

*However,* depending on the inner component (there are several ones what are switched forth and back), a few more contextual buttons must be inserted in that top/bottom bar.

*(CSS tricks with absolute positioning stuff on the outside are not an option, depending on size and convenience the outer toolbars can vary pretty much in position, size and so on...)*

---

### **Now my question is:**

Can I somehow pass in a reference to some placeholder *(black square brackets)* (just like regular [content projection/transclusion](https://scotch.io/tutorials/angular-2-transclusion-using-ng-content)), and have them filled by content coming from the child component?

With something like [ngTemplate[Outlet]](https://blog.angular-university.io/angular-ng-template-ng-container-ngtemplateoutlet/) perhaps? And/or [using @Output](https://angular.io/guide/template-syntax#how-to-use-output)? 

I want to “pass upwards” more than `plain text` or `simple <b>rich</b> <i>html</i>` but ideally true angular template code, including custom components like

```
    <ui-button icon="up.svg" (click)='...'></ui-button>
    <ui-button icon="down.svg" (click)='...'></ui-button>

```

...leading in the outer component's top bar to:

```
<section class='some-flexbox'>
    <ui-button icon="home.svg" (click)='...'></ui-button>

    <ui-button icon="up.svg" (click)='...'></ui-button>
    <ui-button icon="down.svg" (click)='...'></ui-button>

    <ui-button icon="help.svg" (click)='...'></ui-button>
    <ui-button icon="account.svg" (click)='...'></ui-button>
</section>

```

*Thinking about it, the click events of those buttons added should find their way back home into the child, sigh...*

**update**

[`ngTemplateOutlet`](https://blog.angular-university.io/angular-ng-template-ng-container-ngtemplateoutlet/#dynamictemplatecreationwiththengtemplateoutletdirective) sounds pretty interesting

> 
> We can also take the template itself and instantiate it anywhere 
>  on the page, using the ngTemplateOutlet directive:
> 
> 
> 

Examining, still unsure how...