vue lazyload, сделайте что-нибудь после ошибки изображения - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу, чтобы данные "imageError" были истинными, если lazyload - ошибка

HTML

<div v-lazy:background-image="imgObj"></div>

JS

data() {
  imageError: false
},

comuted: {
  imgObj() {
    return {
      src: srcImage,
      error: errImage,
      loading: loadingImage,
      adapter: {
          loading (listender, Init) {
              console.log('loading')
          },
          error (listender, Init) {
            // if lazyload image error return true
            this.imageError = true
            console.log('error')
          }
        }
    }
  }
}

src / error / загрузка изображения работает, но адаптер не работает, есть ли еще способ решить эту проблему?

1 Ответ

0 голосов
/ 06 апреля 2020

Свойство adapter зарезервировано для параметра plugin, оно недоступно для параметров directive.

Вместо этого следует использовать объект $LazyLoad, который привязан к экземпляру компонента и подключиться к слушателю для error:

this.$Lazyload.$on('error', function (errors) {
  console.log(errors)
})
...