Не удается обновить данные в Vue. js, используя event.target.href - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь обновить свои Vue. js данные ( linkClicked ).

У меня есть URL-адреса, которые передаются в мой Vue компонент в качестве реквизита от Laravel. Эти реквизиты прикрепляются к нескольким тегам привязки на странице с различными URL-адресами из реквизита. Везде, где есть внешняя ссылка, я прикрепил событие click, которое вызывает метод ( showModal ). Например, мои теги привязки выглядят так:

<a @click.prevent="showModal($event)" :href="extcontacturl">Contact Us</a>

В этом методе я регистрирую $ event.target.href в консоли и могу подтвердить, что вижу правильные ссылки в консоли при нажатии на. Так что реквизит работает нормально. Мой код сценария выглядит следующим образом:

export default {
  props: [
    "extcontacturl",
  ],

  data() {
    return {
      linkClicked: undefined
    };
  },

  methods: {
    showModal($event) {
      this.linkClicked = $event.target.href;
      console.log($event.target.href);
    }
  }
};

Однако linkClicked в моих данных вообще не обновляется, и я не уверен, где я ошибаюсь.

Я ожидаю, что linkClicked обновится до строки URL, представленной реквизитом. Например, если extcontacturl установлено как "https://www.google.com/contact", тогда я ожидаю, что linkClicked обновится до этого URL при щелчке по контактной ссылке.

1 Ответ

1 голос
/ 21 января 2020

Нет необходимости в this в шаблоне.

Должно быть так:

<a @click.prevent="showModal($event)" :href="extcontacturl">Contact Us</a>
...