@DJWOMS

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

Здравствуйте, пишу приложение на vue.js, бекэнд django.
Интересует такой момент, нужно сделать что бы на странице автоматически обновляется контент. К примеру добавилась статья и чтобы у пользователя на странице автоматически она появилась. Подскажите как это организовать или в какую сторону копать.
  • Вопрос задан
  • 2272 просмотра
Пригласить эксперта
Ответы на вопрос 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()
  }
}
Ответ написан
Ваш ответ на вопрос

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

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