Slots
Slots allow you to pass content into a component.
Let's add a <slot>
tag to our component called my-first-component
. <slot>
tags are placeholders for content.
<component><slot></slot></component>
<html><body>A simple email<my-first-component>This text will go wherever my slot tag is in the component</my-first-component></body></html>
The email source is now:
<html><body>A simple emailThis text will go wherever my slot tag is in the component</body></html>
Slots can also contain default values.
<component><slot>Anything in here will show up if no other value is provided</slot></component>
A component can contain multiple <slot>
tags. If unnamed, each tag will be replaced with the same content.
<component><slot>Anything in here will show up if no other value is provided</slot><slot>This second slot tag will be filled with this default text if no other value is provided</slot><slot></slot></component>
To use multiple slots with different values, provide a name for each.
<fieldset><input name="myfirstslot" type="slot"><input name="mysecondslot" type="slot"></fieldset><component><slot name="myfirstslot">A default value</slot><slot name="mysecondslot"></slot></component>
<html><body>A simple email<my-first-component><fragment slot="myfirstslot">This text will go wherever my first slot tag is in the component</fragment><fragment slot="mysecondslot">This will replace the second slot.</fragment></my-first-component></body></html>
Slots can contain regular HTML and CSS as well as plain text.