@Artem0071
Безработный mr. Junior

Как избавиться от реактивности?

Есть у меня компонент с билетами, я хочу избавиться от рекативности. Поясню.
Есть таблица:
<tr v-for="(oneTicket, index) in allTickets">
                      <td>{{index + 1}}</td>
                      <td>{{oneTicket.title}}</td>
                      <td>{{oneTicket.price}}</td>
                      <td>{{oneTicket.quantity}}</td>
                      <td>{{oneTicket.description}}</td>
                    </tr>

В data() прописал данные:
ticket:{
            title: null,
            price: 0,
            quantity: 0,
            description: null
          },
          allTickets: []


И метод добавления:
methods: {
        addTicket(){
            let ticket = this.ticket; //пытался избавиться от реактивности
            this.allTickets.push(ticket);
        },

И собственно 4 поля для заполнения данных
<input v-model="ticket.title">
<input v-model="ticket.price">
<input v-model="ticket.quantity">
<textarea v-model="ticket.description">
<button @click="addTicket"

Когда заполняю новое, меняется вся таблица. Как сделать так, чтобы данные не перезаписывались в таблице, когда что то новое записываю?
  • Вопрос задан
  • 472 просмотра
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Вот так нужно избавляться:
let ticket = {...this.ticket};
Т.е. создавать новый объект вместо присваивания ссылки на объект.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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