# 🦉 Slots 🦉 ## Content - [Overview](#overview) - [Example](#example) - [Reference](#reference) ## Overview Owl is a template based component system. There is therefore a need to be able to make generic components. For example, imagine a generic `Dialog` component, which is able to display some arbitrary content. Obviously, we want to use this component everywhere in our application, to display various different content. The `Dialog` component is technically the owner of its content, but is only a container. The user of the `Dialog` is the component that want to _inject_ something inside the `Dialog`. This is exactly what slots are for. ## Example To make generic components, it is useful to be able for a parent component to _inject_ some sub template, but still be the owner. For example, a generic dialog component will need to render some content, some footer, but with the parent as the rendering context. ```xml