toggleSideBar()}
Задача в том, чтобы этот хендлер срабатывал только при истинном значении переменной sideBarOpened
Вот что предлагает ChatGPT:
Для решения этой задачи можно использовать директиву {#if} для проверки значения переменной sideBarOpened перед вызовом функции toggleSideBar(). Также можно добавить атрибут aria-expanded, чтобы указать состояние сайдбара для пользователей с ограниченными возможностями.
Пример исправленного кода:
<script>
export let sideBarOpened;
export let toggleSideBar;
</script>
<div
tabindex="-1"
class:transform-none={sideBarOpened}
aria-expanded={sideBarOpened}
on:click={() => {
{#if sideBarOpened}
toggleSideBar()
{/if}
}}
>
Sidebar
</div>
Увы, этот код не сработает. В начале условия #if получаем ошибку: Unexpected tokensvelte(parse-error)
Как бы вы решили эту задачу? Я просмотрел урок на эту тему, но на мой взгляд, решение слишком многословное
on:click={()=>{ if(sideBarOpened) toggleSideBar() }}
А что делает функция toggleSideBar?
меняет значение sideBarOpened на противоположное
Типа клик мимо панели закрывает её?
да, сейчас у меня, если панель открыта, появляется оверлей, который триггерится, если по нему кликнуть
Если оверлей отдельный элемент, то нет смысла тригерить статус opened
А да, верно, спасибо)
Это реально предложил чатгпт? Посмотрите уроки на сайье просто все подряд
Ага, по свелту он сильно отстаёт
Обсуждают сегодня