Почему окно Fancybox исчезает сразу после появления при загрузке страницы?

  • 25 августа 2023 г. 5:56
Ответы на вопрос 1
Проблема, возникающая сразу после появления окна Fancybox и его исчезновения, связана с обновлением DOM Vue и удалением скрипта из него. 

Один из способов решения этой проблемы - использование модификатора `.once` в событии `mounted()`. Модификатор `.once` гарантирует, что хук `mounted()` будет вызван только один раз, и не будет повторного обновления DOM Vue.

Модифицированный код вызова окна Fancybox будет выглядеть следующим образом:

```javascript
export default {
  mounted: {
    Fancybox.show([{
      src: '#myblock',
      type: 'inline'
    }])
  }
}
```

Если вам необходимо проверить наличие определенного параметра в адресной строке для отображения окна Fancybox, вы можете использовать объект `$route` из Vue Router. Например:

```javascript
export default {
  mounted: {
    if (this.$route.query.myParam) {
      Fancybox.show([{
        src: '#myblock',
        type: 'inline'
      }])
    }
  }
}
```

Таким образом, окно Fancybox будет отображаться только в том случае, если в адресной строке присутствует определенный параметр `myParam`.
Похожие вопросы