Условие для атрибутов svelte tag - PullRequest
0 голосов
/ 24 сентября 2019

Как добавить атрибут inline, без необходимости дублировать тег привязки?https://svelte.dev/repl/a4e072ca670b481cb5d0360d01d07f27?version=3.12.1

<ul>    
    {#each menu as item}
        <li>
            <a
                {item.prefetch ? 'rel=prefetch' : ''}  
                href="{item.link}">
                {item.title}
            </a>
        </li>
    {/each}
</ul>

У меня ошибка компонента Компиляция, когда:

{item.prefetch ? 'rel=prefetch' : ''}  

Следующий код работает, но не совсем то, что мне нужно:

rel={item.prefetch ? 'prefetch' : ''}  

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Попробуйте использовать undefined например

            rel={item.prefetch ? 'prefetch' : undefined}  

Что должно дать вам: -

<ul>
<li><a rel="prefetch" href=".">Главная</a> </li>
<li><a href="about.html">О нас</a> </li>
</ul>

См .: - https://svelte.dev/repl/31ab5879ed1b457a8a53e3cc70a0749f?version=3.12.1

0 голосов
/ 24 сентября 2019

Попробуйте это:

<ul>    
  {#each menu as {title, link, prefetch} }
  <li>
     {#if prefetch}
       <a rel="prefetch" href="{link}">{title}</a> 
      {:else}
       <a href="{link}">{title}</a>                  
      {/if}
    </li>
    {/each}
 </ul>

Подробнее здесь: Класс условных элементов Svelte, о котором сообщается как синтаксическая ошибка

Но тенарные выражения сейчас не работают!BUG!

...