<article>
<section>
#GALLERY#
</section>
</article>
<article>
<section>
во втором </section>
</article>
.<article>
<section>
</section>
</article>
<v-gallery/>
ReturnType
плохо работает с overload(без дженериков - тупо берёт значение из первой сигнатуры, а не раскрывает все варианты в union).function setTimeout<[]>(callback: () => void, ms?: number | undefined): NodeJS.Timeout
) требует, чтобы первый аргумент setTimeout был () => void
, подо что подходит первый твой вариант(() => any
) но не подходит второй((...p: any[]) => any
).function setTimeout(handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]): number
, с соответствующим возвратом.Хм. То есть, хорошей практикой будет сделать два компонента с одинаковым контентом, но разным поведением и скрывать один и показывать другой?
swiper.destroy(false, true)
, что не удалит инстанс при разрушении, и потому, в теории, ничего не сломает, однако это уже всё на ваш страх и риск. v-if swiper v-else template > нужная структура по умолчанию руками
Вы не знаете и не должны знать, что происходит внутри компонента при его использовании: ни какие там классы, ни какая там dom-структура.
pagesStore
у тебя не реактивный, его изменения никак не регистрируются vue.Дальше развилка:
vue 2:
this.pages = this.$pages.getAllPages()
- присвоение неявно превращает массивpagesStore
в реактивный, дальнейшие изменения в нём уже будут отслеживаться.vue 3: оригинальный
pagesStore
всё ещё остаётся не реактивным, любые изменения в нём никак не отражаются на vue.Исходя из этого:
vue 2: требуется знать как именно ты изменяешь этот массив, потому что потенциально оно всё ещё может работать.
Однако не помешает сделать хранилище реактивным по умолчанию:
vue 3: работать оно не может в принципе, тебе следует сделать твоё хранилище реактивным:
В целом не следует брать объекты неведомо откуда и ждать что vue бет автоматически реагировать на их изменения, если ты не завернул их в reactive\ref\положил в data. В отличие от других фреймворков, где проверки изменений производятся руками, vue следит за изменением только реактивных объектов. Минус - не произойдёт никаких перереисовок если объект не реактивный, плюс - перерисовка произойдёт тогда и только тогда, когда реактивное поле изменилось, а не 100500 лишних раз.