Как показать переменную в методе onchange в VueJS? - PullRequest
0 голосов
/ 01 февраля 2020

Как показать переменную на странице, если метод onchange. Например, этот код:

methods: {
onChange(image) {
if (image) {

        EXIF.getData(this.$refs.pictureInput.file, function () {
          var make = EXIF.getTag(this, "Make"),
            model = EXIF.getTag(this, "Model");
        })
      } else {
        console.log(`it's not image`)
      }
    },
}

Я хочу показать переменную make и model для пользователя.

1 Ответ

0 голосов
/ 01 февраля 2020

Чтобы получить доступ к this компонента внутри другой области, (в вашем случае ваш обратный вызов EXIF) просто создайте новую ссылку на компонент this в более высокой области и получите доступ к ней внутри функция обратного вызова.

export default {
  data () {
    return {
      name: '',
      model: ''
    }
  },
  methods: {
    onChange(image) {
      const component = this;

      if (image) {
        EXIF.getData(this.$refs.pictureInput.file, function () {
          var make = EXIF.getTag(this, "Make"),
              model = EXIF.getTag(this, "Model");

          component.make = make;
          component.model = model;
        })
      } else {
        console.log(`it's not image`)
      }
    }
  }
}

Теперь внутри вашего шаблона:

<template>
  <div>
    <span>Name: {{name}}</span>
    <span>Model: {{model}}</span>
  </div>
</template>
...