@DJWOMS

Как сделать авто обновление контента vue.js?

Здравствуйте, пишу приложение на vue.js, бекэнд django.
Интересует такой момент, нужно сделать что бы на странице автоматически обновляется контент. К примеру добавилась статья и чтобы у пользователя на странице автоматически она появилась. Подскажите как это организовать или в какую сторону копать.
  • Вопрос задан
  • 3813 просмотров
Пригласить эксперта
Ответы на вопрос 2
zoroda
@zoroda
Необычный Fullstack
Есть два основных решения:
1. Организовать периодический опрос сервера из приложения. Например, при помощи функции window.setInterval(), вызывать которую можно из секции mounted ().
2. Организовать доставку сообщений по инициативе сервера. Обычно это web socket.
Оба решения имеют свои плюсы и минусы. Проще, конечно, первый.
Вот кусок кода из моего проекта:
const axios = require('axios')

export default {
  methods: {
    getCounters (count = 1, time = '', start) {
      axios.get(this.url + 'counters/' + this.server + '/?count=' + count + '&time=' + (time || '&noCache=' + (new Date().getTime()) + Math.random()))
        .then((res) => {
            this.currentData= res.data[0]
        })
        .catch((err) => {
          this.queryError = 'Нет ответа от сервера'
        })
    },
    stopTimer () {
      if (this.interval) {
        window.clearInterval(this.interval)
      }
    },
    startTimer () {
      this.stopTimer()
      this.interval = window.setInterval(() => {
        this.getCounters()
      }, 1000)
    }
  },
  mounted () {
    this.startTimer()
  },
  beforeDestroy () {
    this.stopTimer()
  }
}
Ответ написан
Комментировать
Копайте в сторону web socket
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы