Как мне заменить значение "Аксиос" для ввода?

Как мне заменить значение "Аксиос" для ввода?

28.01.2020 12:12:27 Просмотров 29 Источник

Этот код вставляет значение [object Object] в поле Name. Функция getMarkers()- это работа, а функция onMarkerClick()- не работа. Скажи мне, как это исправить?

можно ли взять значение axios из функции getMarkers()? Обновленный и модифицированный код, основанный на комментариях, теперь выглядит следующим образом:

<template>
  <gmap-map
    id="map"
    :center="center"
    :zoom="17"
    @click="addMarker"
  >
    <gmap-info-window
      :options="infoOptions"
      :position="infoWindowPos"
      :opened="infoWinOpen"
      @closeclick="infoWinOpen = false"
    >
      <p>
        Name<input
          id="name"
          v-model="name"
          type="text"
          name="name"
        >
      </p>
    </gmap-info-window>

    <gmap-marker
      v-for="(m, index) in markers"
      :key="index"
      :position="m.position"
      :clickable="true"
      :draggable="false"
      @click="onMarkerClick"
    />
  </gmap-map>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      center: { lat: 45.029373, lng: 38.972687 },
      type: '',
      address: null,
      name: null,
      markers: [],
      infoContent: '',
      infoWindowPos: null,
      infoWinOpen: false,
      infoOptions: {
        pixelOffset: {
          width: 0,
          height: -35
        }
      },
    };
  },
  mounted() {
    const vm = this;
    vm.getMarkers();
  },
  methods: {
    getMarkers() {
      const vm = this;
      axios.get('/api/markers')
        .then(function(response) {
          vm.markers = response.data.data.map(m => {
            return {
              name: m.name,
            };
          });
        });
    },

    onMarkerClick(name) {
      this.name = name;
    },
  }
};
</script>
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input#comment106011449_59945353
@Марти, так что ценность не показывают
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input#comment106012409_59945353
@Marty I обновил и модифицировал код

Ответы - Как мне заменить значение "Аксиос" для ввода? / How do I substitute a value from axios to input?

Qonvex620

28.01.2020 12:15:37

Вы должны передать переменную m в вашем v-for В change onMarkerClick. Измените свой код на этот

<gmap-marker
      :key="index"
      v-for="(m, index) in markers"
      :position="m.position"
      :clickable="true"
      :draggable="false"
      @click="onMarkerClick(m)"
    ></gmap-marker>

  </gmap-map>

Теперь в вашем clickMarker функция должна быть такой.

onMarkerClick(name) {
    this.name = name;
}, 
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011074_59945403
Так что значение не показывает
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011090_59945403
тогда откуда взялось это "имя"? и где вы запускаете onMarkerClick ?
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011488_59945403
Я обновил свой ответ
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011581_59945403
"Имя" не показывают. А можно ли взять значение axios из функции getMarkers() ?
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011657_59945403
Я не знаю, откуда взялось твое имя.
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011797_59945403
от "маркеров" таблицу, используя Аксиос в getMarkers() функция
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106011819_59945403
Итак, где вы вызываете функцию onMarkerClick ?
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106012366_59945403
Я обновил и модифицировал код
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945403#comment106012698_59945403
проверьте мой обновленный ответ
Является ответом!
Sherzod

28.01.2020 12:21:35

Вы должны изменить свой код:

onMarkerClick(event, name) { this.name = name; }

или к этому коду:

onMarkerClick(event, name) { this.$set(this, "name", name); }
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945524#comment106011428_59945524
Таким образом, поле Имя пусто
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945524#comment106012360_59945524
Я обновил и модифицировал код
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945524#comment106012438_59945524
вы правы; имя Шуд добавлено в шаблон. @click= " e => onMarkerClick(e, m.name)"
https://stackoverflow.com/questions/59945353/how-do-i-substitute-a-value-from-axios-to-input/59945524#comment106013017_59945524
Спасибо. Это работа! +1
Закрыть X