mikado
mikado copied to clipboard
Condition on {{...}} does not work as expected
<span class="nav-item">
<a class="nav-link {{ data.active_tab == 'setting' ? 'active' : '' }}" href="/#setting">test</a>
</span>
render result, class is empty:
<span class="nav-item"><a href="/#setting" class="">test</a></span>
Modify to this:
<span class="nav-item">
<a class="{{ data.active_tab == 'setting' ? 'nav-link active' : 'nav-link' }}" href="/#setting">test</a>
</span>
the result is rendered ok:
<span class="nav-item"><a href="/#setting" class="nav-link active">test</a></span>
Found the problem. The template is compiled as:
"c":["'nav-link ' + data.active_tab === 'setting' ? 'active' : ''"]
Which made the + operator calculated first.
Fixed by using (...):
<span class="nav-item">
<a class="nav-link {{ (data.active_tab == 'setting' ? 'active' : '') }}" href="/#setting">test</a>
</span>
The missing parentheses issue is gone with Mikado v0.8.x