What should be the HTML structure returned when wp-show
is false? #159
Description
While working on creating the wp-show
directive attribute, I wasn't sure the HTML that should be returned when wp-show
evaluates as false
. I'm opening this issue to discuss the implications of the different alternatives and decide on an approach.
Given the following HTML:
<div data-wp-show="false" class="my-class">
<p>Children</p>
</div>
I considered two alternatives:
Option 1 - Wrapped everything inside the <template>
tag
<template>
<div data-wp-show="false" class="my-class">
<p>Children</p>
</div>
</template>
Option 2 - Wrapped children inside the <template>
tag
<div data-wp-show="false" class="my-class">
<template>
<p>Children</p>
</template>
</div>
As I mentioned, I don't know the pros and cons of each alternative, so I'd love to hear your thoughts. Whatever we decide, should probably be applied to similar directives like wp-each
to keep consistency.
Alpinejs is using the second approach. For directives like x-if
or x-for
, they used them directly in the <template>
tags, and it requires that <template>
MUST contain only one root element.
On the other hand, if not explained properly, I feel that Option 2 could cause unexpected layout issues.