DJWOMS1
@DJWOMS1
Веб-программист

Почему не обновляются данные props vue js?

Данные получаю ajax запросом при нажатии на кнопку.
//Кнопка
<button id="show-modal"
    class="P2CL3TInfo"
     v-bind:name="selecId = item.id"
    @click="open()">
</button>

 <modal v-if="showModal" @close="showModal = false"
    :country="mod[0].country"
    :city="mod[0].city"
    :dt="mod[0].created" >
</modal>

//Компонент
Vue.component('modal', {
    props: ['country', 'city', 'vendor', 'dt'],
    data: function () {
      return {
      }
    },
    delimiters: ['${', '}'],
    template: '#modal-template',
//Ajax запрос
            open: function(){
                      axios.get("{% url 'url' %}",{
                          headers: {
                              'X-Requested-With': 'XMLHttpRequest'
                          },
                          params: {
                              id: this.selecId
                          }}).then((response) => {
                              this.$data.mod =  response.data
                              this.showModal = true
                          }).catch(function (error) {
                                  this.selected = error;
                              });
                  },

Почему когда показывается окно то данные не обновляются на новые?
  • Вопрос задан
  • 1200 просмотров
Пригласить эксперта
Ответы на вопрос 2
amux
@amux
alp.ac
Потому что this не проходит в объект axios, инициализируйте перемененную, которая будет ссылкой на this.
Ответ написан
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
this.$data.mod = response.data - так не надо
this.$set(this,'mod', response.data)
Про set и $set
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы