I would like to inject some information on the navbar (parent component) using Vue Portal.
So in a component, I can do:
<portal to="navbar">
<b-button>Some option</b-button>
</portal>
Thus, in the Navbar component I have:
<portal-target name="navbar"></portal-target>
But I would like to add a separator in this navbar if and only if the portal is enabled:
<b-nav-text v-if="$portal.navbar.enabled">|</b-nav-text>
<portal-target name="navbar"></portal-target>
Obviously the $portal
prototype is not available... What's the alternative?
This can be done by CSS easily.
.portal {
position: relative;
color: #000;
}
.portal:after {
display: block;
position: absolute;
right: 0 // or left, depends on your design.
content: "|" // or content: "" and the styles down below
top: 0; // or any value
bottom: 0; // or any value
width: 1px; // or any value
background: currentColor;
}