Svelte не передает автоматически собственные события из элемента root компонента, поскольку компоненты Svelte не обязаны иметь единственный элемент root (или вообще любые элементы).
Так Вы должны сами связать событие в компоненте.
Вы можете go полностью с createEventDispatcher
, но есть также сокращенный синтаксис для именно того, что вы хотите сделать, проксирование собственных событий DOM.
Если директива on: используется без значения, компонент будет пересылать событие, что означает, что его может прослушивать потребитель компонента.
документы
Итак, с вашим примером, что-то вроде этого:
<div on:click>
<h2>
{book.title}
</h2>
<h5>
{book.author}
</h5>
</div>